Range

支持以下范围类型:

| 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 | 范围查询范围字段支持一个关系参数,可以是WITHINCONTAINSINTERSECTS(默认)之一。 |

range字段的参数

range字段接受一下参数:

| coerce | 尝试将字符串转换为数字并截断整数的分数。 接受true(默认)和false。 | | boost | 映射字段级查询时间提升。 接受一个浮点数,默认为1.0。 | | include_in_all | 字段值是否应包含在_all字段中? 接受true或者false。 如果index设置为false,或者如果父对象字段将include_in_all设置为false,则默认为false。 否则默认为true。 | | index | 应该可以搜索该字段吗? 接受true(默认)和false。 | | store | 字段值是否应与_source字段分开存储和检索。 接受truefalse(默认)。 |