當前位置:成語大全網 - 書法字典 - Es字段類型

Es字段類型

|壹級分類|二級分類|特定類型|

|核心類型|字符串類型|字符串、文本、關鍵字|

|整數類型|整數、長整型、短整型、字節型|

|浮點類型| double、float、half _ float、scaled _ float |

|邏輯類型|布爾型|

日期類型|日期|

|範圍類型|範圍|

二進制類型|二進制|

|復合類型|數組類型|數組|

|對象類型|對象|

|嵌套類型|嵌套|

|地理類型|地理坐標類型|地理點|

地理地圖|地理形狀|

|特殊類型| IP類型| ip |

|範圍類型|完成|

|令牌計數類型|令牌計數|

|附件類型|附件|

提取類型|過濾器|

(1)字符串

String類型在舊版ElasticSearch中被廣泛使用。從ElasticSearch 5.x開始,不再支持string,取而代之的是文本和關鍵字類型。

(2)文本

當要在全文中搜索字段時,如電子郵件內容和產品描述,應使用文本類型。設置文本類型後,將對字段的內容進行分析,在生成倒排索引前,分析器將字符串劃分為單詞項。文本類型的字段不用於排序,也很少用於聚合。

(3)關鍵詞

關鍵字類型適用於索引結構化字段,如電子郵件地址、主機名、狀態代碼和標簽。如果需要對字段進行過濾(例如,在已發布的博客中查找具有status屬性的已發布文章)、排序和聚合。關鍵字類型的字段只能通過精確值進行搜索。

在滿足要求的情況下,選擇盡可能小的數據類型。比如壹個字段的最大值不會超過100,可以選擇字節類型。至今吉尼斯記錄的最大年齡是134歲。對於年齡領域,短就夠了。字段長度越短,索引和搜索的效率越高。

對於float,half_float和scaled_float,-0.0和+0.0是不同的值。使用$ term查詢查找-0.0將不匹配+0.0。同樣,在範圍查詢中,上邊界是-0.0,下邊界是+0.0,不會匹配-0.0。

其中以scaled_float為例,價格只需要精確到分鐘,價格為57.34的字段縮放因子為100,存儲時為5734。

首選使用帶縮放因子的scaled_float浮點類型。

我們人類使用的計時系統相當復雜:秒是基本的UNIX,60秒是1分鐘,60分鐘是1小時,24小時是壹天...如果計算機使用同樣的方式來計時,顯然會使用多個變量來分別存儲年、月、日、時、分,並不斷地進行進位運算,還要處理偶然的閏年和閏秒以及協調不同的時區。

日期類型可以用以下格式表示:

(1)日期格式字符串,如“2018-01-13”或“2018-01-13 12:65438”。

(UNIX誕生之日起的毫秒數(epoch指UTC時間1970 65438+10月1: 00: 00)。

(3)自3)整數的紀元以來的秒數。

ElasticSearch在內部將日期數據轉換為UTC,並將其存儲為壹個自紀元以來的長整數。

示例:日期格式數據

(1)創建索引

(2)編寫文檔

(3)批量查詢

邏輯類型(布爾類型)可以接受真/假/“真”/“假”值。

(1)在創建索引之前,請將其刪除。

(2)添加壹個文檔

(3)檢查文檔

二進制字段是指base64表示的索引中存儲的二進制數據,可以用來存儲二進制數據,比如圖像。默認情況下,這種類型的字段只存儲非索引。二進制類型僅支持index_name屬性。

在ElasticSearch中,沒有特殊的數組數據類型,但是默認情況下,任何字段都可以包含0個或多個值,也就是說每個字段默認都是數組類型,但是數組類型的每個元素值的數據類型必須相同。在ElasticSearch中,數組是開箱即用的,不需要任何配置就可以直接使用。

在同壹個數組中,數組元素的數據類型是相同的。ElasticSearch不支持多種數據類型的元素:[10," some string"]。常用的數組類型有:

(1)字符數組:["one "," two"]

(2)整數數組:productid:[ 1,2]

(3)對象(文檔)數組:“用戶”:[{“姓名”:“瑪麗”,“年齡”:12},{“姓名”:“約翰”,“年齡”:10}],對象數組在ElasticSearch中展開。

JSON本質上是分層的,文檔包含嵌套的對象。

上面的文檔整體上是壹個JSON,JSON包含壹個employee,employee也包含壹個fullname。

ip類型字段用於存儲IPv4或IPv6的地址。

(1)創建索引

(2)查詢字段