Elasticsearch支持文檔中字段的多種不一樣數據類型:segmentfault
字符串數組
text
和keyword
數字app
long
、integer
、short
、byte
、double
、float
、half_float
、scaled_float
日期優化
date
日期納秒code
date_nanos
布爾對象
boolean
二進制排序
binary
範圍索引
integer_range
、float_range
、long_range
、double_range
、date_range
對象token
object
用於單個JSON對象嵌套ip
nested
用於JSON對象數組Geo-point
geo_point
表示lat/lon座標點Geo-shape
geo_shape
用於複雜形狀(如多邊形)IP
ip
用於IPv4和IPv6地址完成數據類型
completion
提供自動完成建議令牌數
token_count
用於計算字符串中的令牌數量mapper-murmur3
murmur3
在索引時計算值的哈希值並將它們存儲在索引中mapper-annotated-text
annotated-text
索引包含特殊標記的文本(一般用於標識命名實體)過濾器
鏈接
別名
排名功能
密集向量
稀疏向量
按類型搜索
在Elasticsearch中,數組不須要專用字段數據類型,默認狀況下,任何字段均可以包含零個或多個值,可是數組中的全部值必須具備相同的數據類型。
爲不一樣的目的以不一樣的方式索引相同的字段一般是有用的,例如,字符串字段能夠映射爲用於全文搜索的text
字段,以及用於排序或聚合的keyword
字段,或者,你能夠使用標準分析器、英語分析器和法語分析器索引文本字段。
這就是多字段的目的,大多數數據類型經過fields
參數支持多字段。