1. 程式人生 > 實用技巧 >Elasticsearch7.*欄位資料型別

Elasticsearch7.*欄位資料型別

本文 Elasticsearch 版本為 7.2

主要資料型別

(1)字串型別: text, keyword

(2)數字型別:long,integer,short,byte,double,float,half_float,scaled_float

(3)日期:date

(4)日期 納秒:date_nanos

(5)布林型:boolean

(6)Binary:binary

(7)Range:integer_range,float_range,long_range,double_range,date_range

複雜資料型別

(1)Object: object(單個JSON物件)

(2)Nested:nested

(JSON物件陣列)

地理資料型別

(1)Geo-point: geo_point (緯度/經度積分)

(2)Geo-shape: geo_shape (用於多邊形等複雜形狀)

特殊資料型別

(1)IP: ip (IPv4 和 IPv6 地址)

(2)Completion型別:completion (to provide auto-complete suggestions)

(3)Token count:token_count (to count the number of tokens in a string)

(4)mapper-murmur3:murmur3(to compute hashes of values at index-time and store them in the index)

(5)mapper-annotated-text:annotated-text (to index text containing special markup (typically used for identifying named entities))

(6)Percolator:(Accepts queries from the query-dsl)

(7)Join:(Defines parent/child relation for documents within the same index)

(8)Alias:(Defines an alias to an existing field.)

(9)Rank feature:(Record numeric feature to boost hits at query time.)

(10)Rank features:(Record numeric features to boost hits at query time.)

(11)Dense vector:(Record dense vectors of float values.)

(12)Sparse vector:(Record sparse vectors of float values.)

(13)Search-as-you-type:(A text-like field optimized for queries to implement as-you-type completion)

陣列型別

在Elasticsearch中,陣列不需要一個特定的資料型別,任何欄位都預設可以包含一個或多個值,當然,這多個值都必須是欄位指定的資料型別。

Multi-fields

Multi-fields 通常用來以不同的方式或目的索引同一個欄位。比如,一個字串型別欄位可以同時被對映為 text 型別以用於全文檢索、 keyword欄位用於排序或聚合。又或者,你可以用standard分析器、english分析器和french分析器來索引同一個 text欄位。  

為不同的目的以不同的方式對同一欄位建立索引通常很有用。例如,一個string欄位可以對映為text用於全文搜尋的欄位,也可以對映為keyword用於排序或聚合的欄位.大多數資料型別通過fields引數支援多欄位。

官方文件:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

牛人部落格:https://juejin.im/post/6844903661722664973