企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Range 原文链接: [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/range.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/range.html) 译文链接: [http://www.apache.wiki/pages/editpage.action?pageId=10031152](http://www.apache.wiki/pages/editpage.action?pageId=10031152) 贡献者: [张学](/display/~zhangxue),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) 支持以下范围类型: | **`integer_range`** | 32位有符号整型数范围。最小值是-231,最大值是`231-1。` | | **`float_range`** | 单精度32位IEEE 754浮点值范围。 | | **`long_range`** | 64位有符号整型数范围。最小值是-263,最大值是263`-1。` | | **`double_range`** | 双精度64位IEEE 754浮点值范围。 | | **`date_range`** | 以系统纪元经过的无符号64位整数毫秒表示的日期值范围。 | 以下是使用各种范围字段配置映射的示例,后跟跟踪多个范围类型的示例。 ``` PUT range_index { "mappings": { "my_type": { "properties": { "expected_attendees": { "type": "integer_range" }, "time_frame": { "type": "date_range", #1 "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" } } } } } PUT range_index/my_type/1 { "expected_attendees" : { #2 "gte" : 10, "lte" : 20 }, "time_frame" : { #3 "gte" : "2015-10-31 12:00:00", #4 "lte" : "2015-11-01" } } ``` 以下是date_range查询的一个例子,该日期字段名为“time_frame”。 ``` POST range_index/_search { "query" : { "range" : { "time_frame" : { #5 "gte" : "2015-10-31", "lte" : "2015-11-01", "relation" : "within" #6 } } } } ``` 上述查询产生的结果。 ``` { "took": 13, "timed_out": false, "_shards" : { "total": 2, "successful": 2, "failed": 0 }, "hits" : { "total" : 1, "max_score" : 1.0, "hits" : [ { "_index" : "range_index", "_type" : "my_type", "_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" } } } ] } } ``` | 1 | **date_range**类型接受由日期类型定义的相同字段参数。 | | 2 | 举办与10至20名与会者的会议举例。 | | 3 | 日期范围接受与**date range queries**(日期范围查询)中所述相同的格式。 | | 4 | 示例日期范围使用日期时间戳。 这也接受日期数学格式,或者系统时间的“**now**”。 | | 5 | **Range queries**(范围查询)与**range query**(范围查询)中所述相同。 | | 6 | 范围查询范围字段支持一个关系参数,可以是**WITHIN**,**CONTAINS**,**INTERSECTS**(默认)之一。 | ### range字段的参数 **range**字段接受一下参数: | [`coerce`](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/coerce.html "coerce") | 尝试将字符串转换为数字并截断整数的分数。 接受**true**(默认)和**false**。 | | [`boost`](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/mapping-boost.html "boost") | 映射字段级查询时间提升。 接受一个浮点数,默认为**1.0**。 | | [`include_in_all`](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/include-in-all.html "include_in_all") | 字段值是否应包含在**_all**字段中? 接受**true**或者**false**。 如果**index**设置为**false**,或者如果父对象字段将**include_in_all**设置为**false**,则默认为**false**。 否则默认为**true**。 | | [`index`](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/mapping-index.html "index") | 应该可以搜索该字段吗? 接受**true**(默认)和**false**。 | | [`store`](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/mapping-store.html "store") | 字段值是否应与**_source**字段分开存储和检索。 接受**true**或**false**(默认)。 |