我使用的是官方PHP客户端- https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html
一切都很好,但有一件事-按日期范围过滤;映射中的字段类型是Date,但是我没有得到过滤后的结果。查询结构看起来像这样,它的工作很好,当我在Sense chrome插件执行:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"myfield": {
"gt": "2015-01-10"
}
}
}
}
}
}
映射字段:
"myfield": {
"type": "date",
"format": "dateOptionalTime"
}
在php客户端,我试图检查范围过滤器与另一个字段,这不是datetype,它工作得很好,唯一的问题与datetype字段。
谢谢。
我也有同样的问题。根据文件,它应该工作,但不是为我。你没有张贴你的映射文件,但下面的代码为我工作。
用from代替gt。
的例子:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"myfield": {
"from": "2015-01-10"
}
}
}
}
}
}