Elasticsearch php客户端日期范围不起作用

时间:2015-08-05 06:58:54

标签: php elasticsearch

我正在使用这里的官方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字段的唯一问题。

感谢。

1 个答案:

答案 0 :(得分:0)

对我来说同样的问题。根据文档,它应该工作,但不适合我。您没有发布您的映射文件,但下面的代码适用于我。

使用而不是gt。

示例:

{
   "query": {
      "filtered": {
         "query": {
            "match_all": {}
         },
         "filter": {
            "range": {
               "myfield": {
                  "from": "2015-01-10"
               }
            }
         }
      }
   }
}