原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/range.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/range.html
本地英文版地址: ../en/range.html
重要: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 当前版本文档。
支持以下几种范围类型:
|
32位整数范围,最小值为 |
|
单精度32位 IEEE 754 浮点值范围。 |
|
64位有符号整数,最小值为 |
|
64位双精度 IEEE 754 浮点值范围。 |
|
自系统纪元以来,以无符号64位整数毫秒表示的日期值范围。 |
|
下面是一个使用各种范围字段配置映射的示例,后面是一个索引多个范围类型的示例。
PUT range_index { "settings": { "number_of_shards": 2 }, "mappings": { "properties": { "expected_attendees": { "type": "integer_range" }, "time_frame": { "type": "date_range", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" } } } } PUT range_index/_doc/1?refresh { "expected_attendees" : { "gte" : 10, "lte" : 20 }, "time_frame" : { "gte" : "2015-10-31 12:00:00", "lte" : "2015-11-01" } }
|
|
为10~20名与会者的会议编制索引的示例。 |
|
日期范围接受与日期范围查询中所述相同的格式。 |
|
使用日期时间戳的日期范围示例。 还可以接受date math格式。 请注意,在索引时不能使用“now”。 |
以下是对名为“expected_attendees”的integer_range
字段进行term 查询的示例。
GET range_index/_search { "query" : { "term" : { "expected_attendees" : { "value": 12 } } } }
上述查询产生的结果:
{ "took": 13, "timed_out": false, "_shards" : { "total": 2, "successful": 2, "skipped" : 0, "failed": 0 }, "hits" : { "total" : { "value": 1, "relation": "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "range_index", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "expected_attendees" : { "gte" : 10, "lte" : 20 }, "time_frame" : { "gte" : "2015-10-31 12:00:00", "lte" : "2015-11-01" } } } ] } }
下面是对名为“time_frame”的date_range
字段进行date_range
查询的示例:
GET range_index/_search { "query" : { "range" : { "time_frame" : { "gte" : "2015-10-31", "lte" : "2015-11-01", "relation" : "within" } } } }
该查询产生类似的结果:
{ "took": 13, "timed_out": false, "_shards" : { "total": 2, "successful": 2, "skipped" : 0, "failed": 0 }, "hits" : { "total" : { "value": 1, "relation": "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "range_index", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "expected_attendees" : { "gte" : 10, "lte" : 20 }, "time_frame" : { "gte" : "2015-10-31 12:00:00", "lte" : "2015-11-01" } } } ] } }
除了上述范围格式,IP 范围还可以用CIDR符号表示:
PUT range_index/_mapping { "properties": { "ip_whitelist": { "type": "ip_range" } } } PUT range_index/_doc/2 { "ip_whitelist" : "192.168.0.0/16" }