时间范围是由start_dateend_date定义的,我正在尝试获取给定日期03/27/2019在该时间范围内的所有文档。

GET users/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "start_date": {
              "lte": "03/27/2019"
            }
          }
        },
        {
          "range": {
            "end_date": {
              "gte": "03/27/2019"
            }
          }
        },
        {
          "terms": {
            "locations": [
              "all"
            ]
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "gender": "male"
          }
        }
      ]
    }
  }
}

查询不会产生适当的文档,例如具有以下值的文档:
  "start_date": "11/25/2018"
  "end_date": "12/25/2019"

不归还

字段映射:
"start_date": {
            "type": "date",
            "format": "MM/DD/yyyy"
          },
"end_date": {
            "type": "date",
            "format": "MM/DD/yyyy"
          },

最佳答案

我认为您的日期格式有误。

应该是MM/dd/yyyy而不是MM/DD/yyyy

关于elasticsearch - 使用两个字段选择时间范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55378839/

10-15 20:13