ElasticSearch日期范围

Cri*_*a23 14 date-range elasticsearch

我有以下查询:

{
   "query": {
     "query_string": {
       "query": "searchTerm",
        "default_operator": "AND"
       }
     },
    "facets": {
      "counts": {
        "date_histogram": {
         "field": "firstdate",
         "interval": "hour"
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想为它添加一个日期范围,以便检索字段firstdate的值,这些值在特定的from/to interval之内.有关如何做的任何建议?非常感谢!

Oll*_*ank 20

您只需要在查询中添加范围过滤器:

{
"query":{
  "filtered": {
     "query": {
       "query_string": {"query": "searchTerm", "default_operator": "AND" }
     },
      "filter" : {
         "range": {"firstdate": {"gte": "2014-10-21T20:03:12.963","lte": "2014-11-24T20:03:12.963"}}
    }
  }
},
"facets": {
 "counts": {
    "date_histogram": {
       "field": "firstdate",
       "interval": "hour"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


max*_*s ツ 15

布尔查询也可以,

 {
   "query" :{
      "bool" : {             
          "must" : {
              "range": {"firstdate": {"gte": "2014-10-21T20:03:12.963","lte": "2014-11-24T20:03:12.963"}}
          },

          "must" : {
            "query_string": {
              "query": "searchTerm",
              "default_operator": "AND"
            }
          }

      }
    },

   "facets": {
       "counts": {
          "date_histogram": {
             "field": "firstdate",
             "interval": "hour"
           }
        }
    }

 }
Run Code Online (Sandbox Code Playgroud)

  • 现已过滤已弃用.https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-filtered-query.html (2认同)

Raj*_*tty 7

此查询显示出现在给定日期范围内的结果。“date_field_name”是您要设置日期范围过滤器的字段名称。

GET index_name/_search
{
  "query": {
    "bool": {
      "must":[ 
              {
                "range": {
                  "date_field_name": {
                    "gte": "2019-09-23 18:30:00",
                    "lte": "2019-09-24 18:30:00"
                  }
                }
              }
      ]
    }
  },
  "size": 10
}

Run Code Online (Sandbox Code Playgroud)


小智 5

https://your_elasticsearch/your_index PUT

     {
        "mappings": {
            "properties": {
                "created_at": {
                    "type": "date",
                    "format": "yyyy-MM-dd HH:mm:ss"
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

https://your_elasticsearch/your_index/_search POST

  {
    "query": {
        "bool": {
            "filter": [
                {
                    "range": {
                        "created_at": {
                            "gte": "2020-04-01 08:03:12",
                            "lte": "2020-04-01 20:03:12"
                        }
                    }
                }
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)