本文 Elasticsearch 版本為 7.2
1. 核心數據類型
(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
2. 復雜數據類型
(1)Object: object(for single JSON objects)
(2)Nested: nested
(for arrays of JSON objects)
3. 地理數據類型
(1)Geo-point: geo_point (for lat/lon points)
(2)Geo-shape: geo_shape (for complex shapes like polygons)
4. 特殊數據類型
(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)
5.數組類型
在Elasticsearch中,數組不需要一個特定的數據類型,任何字段都默認可以包含一個或多個值,當然,這多個值都必須是字段指定的數據類型。
6.Multi-fields
Multi-fields 通常用來以不同的方式或目的索引同一個字段。比如,一個字符串類型字段可以同時被映射為 text 類型以用於全文檢索、 keyword字段用於排序或聚合。又或者,你可以用standard分析器、english分析器和french分析器來索引同一個 text字段。