我正在使用这里的官方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字段的唯一问题。
感谢。
答案 0 :(得分:0)
对我来说同样的问题。根据文档,它应该工作,但不适合我。您没有发布您的映射文件,但下面的代码适用于我。
使用而不是gt。
示例:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"myfield": {
"from": "2015-01-10"
}
}
}
}
}
}