ElasticSearch 数据类型

  1、范围数据类型

    支持以下范围类型:

    integer_range : 一系列带符号的32位整数,最小值为,最大值为

    float_range:一系列单精度32位IEEE 754浮点值。

    long_range:一系列带符号的64位整数,最小值为,最大值为

    double_range:一系列双精度64位IEEE 754浮点值。

    date_range:系统历元以来的一系列日期值表示为无符号的64位整数毫秒。

    ip_range:支持IPv4或IPv6(或混合)地址的一系列ip值。

    以下是配置各种范围字段映射的示例:

PUT range_index
{
  "mappings": {
    "my_type": {
      "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/my_type/1
{
  "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查询示例

POST range_index/_search
{
  "query" : {
    "range" : {
      "time_frame" : { 
        "gte" : "2015-10-31",
        "lte" : "2015-11-01",
        "relation" : "within" 
      }
    }
  }
}

    

  2、日期数据类型

    JSON没有日期数据类型,所以Elasticsearch中的日期可以是:

    1、包含格式化日期的字符串,例如 “2015-01-01”或“2015/01/01 12:10:30”

    2、一个代表毫秒数的长数字

    3、一个代表秒的整数

    在内部,日期转换为UTC(如果指定时区)并存储为表示毫秒以后的长数字。

    日期格式可以自定义,但如果没有指定格式,则使用默认格式:

原文地址:https://www.cnblogs.com/shaosks/p/7826744.html