美文网首页ElasticSearch读书笔记
ElasticSearch字符串数据类型

ElasticSearch字符串数据类型

作者: 写Bug的张小天 | 来源:发表于2018-01-15 15:14 被阅读0次

    字符串数据类型的字段可以接受的参数

    参数 说明
    analyzer 分词器,可以用于可分词的字符串型字段,默认是默认的分词器或者标准分词器
    boost 字段级索引加权,接受浮点型数字,默认是1.0
    doc_values 定义字段是否应该以列跨度的方式存储在磁盘上,以便用于排序、聚合或者脚本。接受true或者false参数,对于不可分词字段,默认值是true。可分词字段不支持这个参数
    fielddate 决定字段是否可以使用内存字段值进行排序,聚合或者在脚本中使用。接受disable或者paged_bytes(默认)参数,没有分析过的字段会优先使用文档值
    ignore_above 不需要索引或执行任何长于这个值的字符串,默认为0(禁用)
    include_in_all 决定字段是否应该包含在_all字段中,接受true或者false参数。如果索引被设置为no或者父对象字段设置include_in_all为false,参数默认值为false,其他情况下,默认值为true。
    index 决定字段是否可以被用户搜索,接受参数analyzed(默认,视为全文本字段),not_analyzed(作为关键字字段)以及no
    index_options 定义存储在索引中,用于搜索和突出用途的信息
    norms 计算查询得分的时候是否应该考虑字段长度。默认依赖于索引设置:analyzed字段默认为{"enabled":true, "loading":"lazy"}。not_analyzed字段默认为{"enabled":"false"}
    null_value 接受一个字符串值替换所有null值,默认为null,意味着字段作为缺失字段,如果字段时可分词的,null_value也会被分词
    position_increment_gap 定义字符串数组中应该插入的虚拟索引词的数量,默认值为100,以一个较合理的值来阻止短语查询在跨字段匹配索引词的时候溢出
    store 决定字段值是否应该被存储以及从_source字段分别获取,接受参数true或false
    search_analyzer 指定搜索是用在可分词字段上的分词器
    search_quote_analyzer 指定搜索短语时使用的分词器
    similarity 指定使用的相似度评分算法,默认为TF/IDF
    term_vector 定义一个可分词字段是否应该存储索引词向量,默认为no

    地理数据类型
    地理点数据类型字段接受经纬度对,可用于:
    1、查找一定范围内的地理点,这个范围可以是相对于一个中心点的固定距离,也可以是多边形或者地理散列单元
    2、通过地理位置或者相对于中心点的距离聚合文档
    3、整合距离到文档的相关性评分中
    4、通过距离对文档进行排序

    指定字段类型为地理位置数据类型:
    请求:

    PUT /secisland
    {
       "mapping":{
           "secilog":{
               "properties":{
                   "location":{"type":"geo_point"}
               }
           }
       }
    }
    

    存储地理位置数据有4种不同方式,下面分别介绍:
    (1)、请求: PUT http://127.0.0.1:9200/secisland/secilog/1

    {
        "text":"Geo-point as an object","location":{"lat":41.12,"lon":-71.34}
    }
    

    地理点参数形式对象参数,拥有维度和经度键值对
    (2)、请求: PUT http://127.0.0.1:9200/secisland/secilog/2

    {
        "text":"Geo-point as a string","location":"41.12, -71.34"
    }
    

    字符串地理点参数的格式为"维度,经度"
    (3)、请求:PUT http://127.0.0.1:9200/secisland/secilog/3

    {
        "text":"Geo-point as a geohash","location":"drm3btev3e86"
    }
    

    散列地理点参数
    (4)、请求:PUT http://127.0.0.1:9200/secisland/secilog/4

    {
        "text":"Geo-point as an array","location":[-71.34,41.12]
    }
    

    地理点数组参数,格式为[经度,维度]。

    地理点字段参数

    参数 说明
    coerce 基于标准的-180:180/-90:90坐标系统的经度和维度值。接受true和false
    doc_values 定义字段是否应该以列式跨度的方式存储在磁盘上,以便用于排序、聚合或者脚本、接受true或false
    geohash 定义地理点是否应该作为地理散列值在子字段.geohash中被索引。默认值为false,除非geohash_prefix参数值为true
    geohash_precision 用于geohash和geohash_prefix选项的地理散列最大长度
    geohash_prefix 定义地理点是否应该作为添加前缀的地理散列来进行索引,默认值是false
    ignore_malformed 如果是true,畸形的地理点会被忽略。如果是false,畸形地理点会抛出异常并丢弃整个文档
    lat_lon 定义地理点是否应该在子字段.lat和.lon中被索引,接受true和false(默认)
    precision_step 控制每个经纬点被索引的额外索引词的数量,默认值为16,与lat_lon参数的值无关

    元字段
    每个文档都有与之关联的元数据,元字段时为了保证系统正常运转的内置字段,比如_index表示索引字段,_type表示映射类型字段和_id表示文档主键字段,这些字段都是以下划线开头的。

    参数 说明
    _index 文档所属的索引
    _uid 包含_type和_id的混合字段
    _type 文档的映射类型
    _id 文档的ID

    标识元字段

    参数 说明
    _index 文档所属的索引
    _uid 包含_type和_id的混合字段
    _type 文档的映射类型
    _id 文档的ID

    文档来源元字段

    参数 说明
    _source 作为文档内容的原始JSON
    _size _source元字段占用的字节数,通过mapper-size插件提供

    索引元字段

    参数 说明
    _all 索引所有字段的值
    _field_names 文档中所有包含非空值的字段
    _timestamp 关联文章的时间戳,可以手动指定或者自动生成
    _ttl 定义文档被自动删除之前的存活时间

    路由元字段

    参数 说明
    _parent 用于在映射类型之间创建父子关系
    _routing 一个自定义的路由值,路由文档到一个特定的分片

    其他元字段

    参数 说明
    _meta 应用特定的元字段

    相关文章

      网友评论

        本文标题:ElasticSearch字符串数据类型

        本文链接:https://www.haomeiwen.com/subject/sfyroxtx.html