使用Elasticsearch进行范围查询,以将日期保存为“文本”类型

时间:2019-03-26 09:29:15

标签: python elasticsearch

我要搜索的文档属于给定的日期范围,但范围查询未返回任何结果。

字段映射: TestDate
输入“文字” 字段
关键词 输入“关键字” ignore_above 256

我尝试了以下“范围”:{“ TestDate”:{“ gte”:“ 2015-01-01”,“ lte”:“ 2015-02-01”}}

我希望所有符合以上条件的文件。

1 个答案:

答案 0 :(得分:0)

您需要将字段映射为date,否则将其映射为text

{
   ...
   "TestDate": {
     "type": "date"
   }
   ...
}

只有您的range查询才能起作用:

{
  "query": {
    "range": {
      "TestDate": {
        "gte": "2015-01-01",
        "lte":"2015-02-01"
      }
    }
  }
}