ElasticSearch日期范围查询返回所有值

时间:2017-09-25 10:51:14

标签: elasticsearch

我使用下面的映射创建了一个索引。

索引映射:

{
  "mappings": {
    "document": {
        "properties": {
            "doc_date": {
          "type": "date" ,
          "format": "yyyy/MM/dd"
        }
      }
    }
  }
}

我索引了两条记录。如下所示。

记录:

{
"doc_date": "2017/06/10",
"Record":"A"
}
{
"doc_date": "2017/05/10",
"Record":"D"
}

我想选择大于或等于2017/06/10日期的文件。

查询:

{
    "query": {
        "range" : {
            "doc_date" : {
                "lte": "2017/06/10",
                "format": "yyyy/MM/dd"
            }
        }
    }
}

但是上面的查询返回了索引中的所有文档。

ElasticSearch版本:5.0.2

1 个答案:

答案 0 :(得分:1)

lte表示小于或等于日期。因此,您将获得2017/06/10之前的所有日期和日期本身。您必须使用gte,这意味着大于或等于。