ElasticSearch字符串数据类型

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

参数 说明
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 应用特定的元字段

猜你喜欢

转载自blog.csdn.net/weixin_34150224/article/details/87232976