范围查询 range query

范围查询编辑

返回包含提供范围内的术语的文档。

gt :

  Greater than

gte:

  Greater than or equal to

lt :

  Less than
lte :

  Less than or equal to
format:
  (Optional, string) 日期格式
  用于在查询中转换日期值的日期格式
relation:
  (Optional, string)
  指示范围查询如何与范围字段的值匹配。有效值为:

  • INTERSECTS (Default) 匹配文档,该文档的范围字段值与查询的范围相交
  • CONTAINS 使用范围字段值完全包含查询范围的文档进行匹配
  • WITHIN 使用完全在查询范围内的范围字段值来匹配文档。

time_zone:
  (Optional, string)
  协调世界时(UTC)偏移量或IANA时区,用于将查询中的日期值转换为UTC。
boost:
  浮点数,用于降低或增加查询的相关性分数。默认为1.0

 

# 以下搜索返回文档,其中该age字段包含10和之间的术语20。
curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "range": {
      "age": {
        "gte": 10,
        "lte": 20,
        "boost": 2.0
      }
    }
  }
}
'
# 例如,以下搜索返回文档,其中timestamp字段包含今天和昨天之间的日期。
curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "now-1d/d",
        "lt": "now/d"
      }
    }
  }
}
'
# 您可以使用time_zone参数使用UTC偏移量将日期值转换为UTC。例如:
curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "range": {
      "timestamp": {
        "time_zone": "+01:00",        
        "gte": "2020-01-01T00:00:00", 
        "lte": "now"                  
      }
    }
  }
}
'
#指示日期值使用+01:00的UTC偏移量。
#使用+01:00的UTC偏移量,Elasticsearch将此日期转换为2019-12-31T23:00:00 UTC。
#time_zone参数不会影响现在的值。

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html

posted @ 2021-03-01 14:23  薄荷味日记  阅读(713)  评论(0编辑  收藏  举报