Elasticsearch Range query -- 范围查询

Elasticsearch Range query -- 范围查询

摘要

匹配在某个范围内的文档,主要针对数字、日期等类型字段

参数

field,想要搜索的字段

field 下级参数

  1. gt,选填项。大于
  2. gte,选填项。大于等于
  3. lt,选填项。小于
  4. lte,选填项。小于等于
  5. format,选填项。用于转换日期查询中的日期格式。如果为指定,则使用默认格式。
  6. relation,选填项。指示范围查询如何匹配range的字段。
    1. INTERSECTS,默认值;使用具有与查找范围相交的范围字段来匹配文档
    2. CONTAINS;使用范围字段值完全包含查询范围的文档进行匹配。
    3. WITHIN;使用范围字段值完全在查询范围内的文档进行匹配。
  7. time_zone,选填项。用于查询中的值转换为UTC的偏移量或是IANA时区
  8. boost,选填项。用于减少或增加查询的相关性得分。

请求示例

使用time_zone参数,将日期转化为UTC时间

GET /_search
{
  "query": {
    "range": {
      "timestamp": {
        "time_zone": "+01:00",        
        "gte": "2020-01-01T00:00:00", 
        "lte": "now"                  
      }
    }
  }
}
  1. 偏移量为+01:00
  2. now,指的是现在
  3. time_zone,不影响now
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章