資料型別
每個欄位都有一個欄位資料型別或欄位型別。此型別指示欄位包含的資料型別(例如字串或布林值)及其預期用途。例如,您可以將字串索引到text和keyword 欄位。但是,text將對欄位值進行分析以進行全文字搜尋,而keyword字串按原樣保留以進行過濾和排序。
欄位型別按家庭分組。同一族中的型別支援相同的搜尋功能,但可能具有不同的空間使用或效能特徵。
目前,唯一型別的家庭keyword,它由以下部分組成keyword, constant_keyword和wildcard欄位型別。其他型別族只有一個欄位型別。例如,boolean型別族由一個欄位型別組成:boolean。
常見型別binary
二進位制值編碼為Base64字串。
boolean
true和false價值觀。
keywords
關鍵字家庭,其中包括keyword,constant_keyword,和wildcard。
Numbers
數值型別,例如long和double,用於表示金額。
Dates
日期型別,包括date和 date_nanos。
alias
為現有欄位定義別名。
物件和關係型別object
JSON物件。
flattened
整個JSON物件作為單個欄位值。
nested
保留其子欄位之間關係的JSON物件。
join
為同一索引中的文件定義父/子關係。
結構化資料型別Range
範圍型別,例如long_range,double_range, date_range,和ip_range。
ip
IPv4和IPv6地址。
version
軟體版本。支援語義版本控制 優先順序規則。
murmur3
計算並存儲值的雜湊。
彙總資料型別aggregate_metric_double
預彙總的指標值。
histogram
以直方圖形式預先彙總的數值。
文字搜尋型別text
分析的非結構化文字。
annotated-text
包含特殊標記的文字。用於標識命名實體。
completion
用於自動完成建議。
search_as_you_type
text類似型別,用於按需輸入完成。
token_count
文字中的令牌計數。
檔案等級型別dense_vector
記錄浮點值的密集向量。
sparse_vector
記錄浮點值的稀疏向量。
rank_feature
rank_features
空間資料型別geo_point
緯度和經度點。
geo_shape
複雜的形狀,例如多邊形。
point
任意笛卡爾點。
shape
任意笛卡爾幾何。
其他種類percolator
索引以查詢DSL編寫的查詢。
陣列在Elasticsearch中,陣列不需要專用的欄位資料型別。預設情況下,任何欄位都可以包含零個或多個值,但是,陣列中的所有值都必須具有相同的欄位型別。請參閱陣列。
多領域為不同的目的以不同的方式對同一欄位建立索引通常很有用。例如,一個string欄位可以對映為text用於全文搜尋的欄位,也可以對映為keyword用於排序或聚合的欄位。或者,您可以使用standard分析儀, english分析儀和 french分析儀索引文字欄位。
這是多領域的目的。大多數字段型別都透過fields引數支援多欄位。