elasticsearch中数据类型,字符数字日期地理位置符合数据类型等
Posted Leo Han
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch中数据类型,字符数字日期地理位置符合数据类型等相关的知识,希望对你有一定的参考价值。
elasticsearch数据类型主要如下:
核心数据类型
string
包含 text,keyword
Numeric
包含:long, integer, short, byte, double, float, half_float, scaled_float
Date
包含date类型
Date nanaoseconds
包含date_nanos
Boolean
包含boolean类型
Binary
包含binary类型
Range
包含integer_range, float_range, long_range, double_range, date_range, ip_range
复合数据类型
Object
包含object类型
Nested
包含nested数据类型
Geo数据类型
Geo-point
包含 geo_point数据类型
Geo-shape
包含geo_shape类型
特定数据类型
ip
类型
表示ipv4和ipv6
completion
提供自动补全的功能
token_count
统计字符出现的次数
murmur3
计算值的hash并存储到index
annotated-text
用于索引包含特殊标记的文本(通常用于表示命名实体)
percolator
接受DSL查询
join
为同一索引中的文档定义父子关系
rank_feature
存储数字,提高文档的相关性分数
dense_vector
存储浮点类型密集向量数据
sparse_vector
存储浮点类型稀疏向量数据
alias
为一个已经存在的字段定义别名
flattened
整个json对象作为单个字段存储
shape
任意笛卡尔几何
histogram
聚合数值类型并返回对应数组
String类型- text和keyword
- keyword keyword不进行分词,直接索引,支持模糊、支持精确匹配,支持聚合、排序操作。keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。使用场景:
存储邮箱号码、url、name、title,手机号码、主机名、状态码、邮政编码、标签、年龄、性别等数据。
用于筛选数据(例如: select * from x where status=‘open’)、排序、聚合(统计)。
直接将完整的文本保存到倒排索引中。 - text text类型支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作;
test类型的最大支持的字符长度无限制,适合大字段存储;
使用场景:
存储全文搜索数据, 例如: 邮箱内容、地址、代码块、博客文章内容等。
默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引。
默认结合标准分析器进行词命中、词频相关度打分
Date类型
elasticsearch内部会将日期类型转换为UTC格式,将其存储为代表时间毫秒数的长整数,日期格式可以自定义,如果没有指定格式,适用默认值.
我们可以在设置类型的时候指定date类型的格式:
PUT my-index-000001
"mappings":
"properties":
"date":
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
详见: es data types
以上是关于elasticsearch中数据类型,字符数字日期地理位置符合数据类型等的主要内容,如果未能解决你的问题,请参考以下文章