字符串数据类型的字段可以接受的参数
参数 | 说明 |
---|---|
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 | 应用特定的元字段 |
网友评论