• elasticsearch 7.8.X 数据类型与使用规范


    1 核心数据类型

    • string 字符串
    字符类型说明
    text ⽤于全⽂索引,搜索时会自动使用分词器进⾏分词再匹配。字段内容会被分析,在生成倒排索引以前,字符串会被分析器分成一个一个词项
    keyword 不分词,搜索时需要匹配完整的值
    • numberic 数值
    整数类型说明 (1byte(字节)=8bit(位、比特))
    byte (1字节)-128 到127(- 2^7 到 2^7– 1)
    short (2字节)-32,768到32,767 (- 2^15 到 2^15– 1)
    integer (4字节)-2,147,483,648到2,147,483,647 (- 2^31 到 2^31– 1)
    long (8字节)(- 2^63 到 2^63– 1)
    浮点类型说明
    float 32位单精度IEEE 754浮点类型
    double 64位双精度IEEE 754浮点类型
    half_float 16位半精度IEEE 754浮点类型
    scaled_float 缩放类型的的浮点数(比如价格只需要精确到分,price为57.34的字段缩放因子为100,存起来就是5734)
    • date 日期
    日期类型说明
    date  
    JSON中没有日期类型,所以在ELasticsearch中,日期类型可以是以下几种:
    日期格式的字符串:e.g. “2015-01-01” or “2015/01/01 12:10:30”.
    long类型的毫秒数( milliseconds-since-the-epoch)
    integer的秒数(seconds-since-the-epoch)
    
    • 1
    • 2
    • 3
    • 4
    • date nanoseconds 日期纳秒
    日期纳秒类型说明
    date_nanos  
    • boolean 布尔
    布尔类型说明
    boolean true/false
    • binary 二进制
    二进制类型说明
    binary 该binary类型接受二进制值作为 Base64编码的字符串
    • range 范围
    范围类型说明
    integer_range 一个带符号的32位整数范围,最小值为,最大值为。 -2^31到 2^31-1
    float_range 一系列单精度32位IEEE 754浮点值
    long_range 一系列带符号的64位整数,最小值为,最大值为。 -2^63 到 2^63-1
    double_range 一系列双精度64位IEEE 754浮点值
    date_range 自系统时代以来经过的一系列日期值,表示为无符号的64位整数毫秒
    ip_range 支持IPv4或 IPv6(或混合)地址的一系列ip值

    2 复杂数据类型

    • object 对象
    对象类型说明
    object 对象,用于单个JSON对象
    • nested 嵌套
    对象类型说明
    array 嵌套JSON对象数组

    3 地理数据类型

    • Geo-point 地理位置数据(纬度-经度)
    地理位置数据类型说明
    geo_point geo_point为纬度/经度点
    • Geo-shape 地理形状数据类型
    地理形状数据类型说明
    geo_shape geo_shape映射将geo_json几何对象映射到geo_shape类型,用于多边形等复杂形状

    4 专用的数据类型

    专用的数据类型说明
    ip ip用于IPv4和IPv6地址
    Completion data type 提供自动完成建议
    Token count 计算字符串中令牌的数量
    mapper-murmur3 在索引时计算值的哈希并将其存储在索引中
    mapper-annotated-text annotated-text 索引包含特殊标记的文本(通常用于标识命名实体)
    Percolator 接受来自query-dsl的查询
    Join 为同一索引内的文档定义父/子关系
    Rank feature 记录数字功能以提高查询时的点击率
    Rank features 记录数字功能以提高查询时的点击率
    Dense vector 记录浮点值的密集向量
    Sparse vector 记录浮点值的稀疏向量
    Search-as-you-type 针对查询进行优化的类文本字段,以实现按需输入完成
    Alias 为现有字段定义别名。
    Flattened Allows an entire JSON object to be indexed as a single field
    Shape shape 对于任意笛卡尔几何
    Histogram histogram 用于百分位数聚合的预聚合数值。
    Constant keyword keyword当所有文档具有相同值时的情况的 专业化。

    5 数组

    在Elasticsearch中,数组不需要专用的字段数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值都必须具有相同的数据类型。请参阅数组

    6 多领域

    为不同的目的以不同的方式对同一字段建立索引通常很有用。例如,一个string字段可以映射为text用于全文搜索的字段,也可以映射为keyword用于排序或聚合的字段。或者,您可以使用standard分析仪english分析仪french分析仪索引文本字段。

    这是多领域的目的。大多数数据类型通过fields参数支持多字段。

  • 相关阅读:
    select接收后台返回值的解决方案
    junit 使用
    jsoup解析HTML及简单实例
    面向接口编程及适配器模式
    数据库 SQL语句小结(更新中)
    最近关于虚拟机的学习
    AQS源码解析
    ReentrantLock源码阅读记录(二)之ReentrantReadWriteLock
    Semaphore 源码解读
    Httpclient学习多一点儿
  • 原文地址:https://www.cnblogs.com/heijinli/p/13529442.html
Copyright © 2020-2023  润新知