ES 常用數據類型

1、ES常用數據類型 

1.1 Numbers 數字類型

涉及到的類型很多,具體查閱文檔 常用的有long,integer,short,double,float

 

1.2 Keywords 關鍵字類型 

 關鍵字分爲以下幾種:

(1)、keyword 用於索引結構化內容,如ID、電子郵件地址、主機名、狀態碼、郵政編碼或標籤。

說明:keyword不會被分詞,keyword類型的字段只能通過精確值(exact_value)搜索到,常用於排序、過濾、聚合.

注:數據Id應該使用keyword而不是int或者string等類型,因爲keyword會被索引,性能更好.

(2)、constant_keyword 對於始終包含相同值的關鍵字字段。

(3)、wildcard 用於非結構化機器生成的內容。通配符類型針對具有大值或高基數的字段進行了優化。

 

1.3 Dates 日期類型 

日期類型分爲以下幾種:

(1)、date 日期類型

自動識別機制如下幾種

i、Json字符串格式爲“2015-01-01”或“2015/01/01 12:10:30”,會被識別爲date類型

ii、時間戳

其餘注意事項請參考官網

 

(2)、date_nanos 納秒類型

如果毫秒的精度不夠,可以使用納秒類型.

 

1.4  alias 索引別名類型 

 

1.5 binary 二進制類型

二進制類型接受二進制值作爲Base64編碼字符串。默認情況下,該字段不存儲且不可搜索:

 

2、ES結構化數據類型

2.1、Range 範圍類型

範圍字段類型表示上限和下限之間的連續值範圍。例如,一個範圍可以表示10月份的任何日期,也可以表示0到9之間的任何整數。它們使用運算符gt或gte定義下限,使用運算符lt或lte定義上限。它們可以用於查詢,並且對聚合的支持有限。唯一支持的聚合是直方圖和基數。

其餘幾種範圍類型,請參考官方文檔

 

3、ES文本搜索類型

3.1、text fields 文本類型 常用於文本搜索,但是不能創建正排索引

索引全文值的字段,例如電子郵件正文或產品描述。對這些字段進行分析,即在索引之前,通過分析器將字符串轉換爲單個術語的列表。分析過程允許Elasticsearch在每個全文字段中搜索單個單詞。文本字段不用於排序,很少用於聚合(儘管重要的文本聚合是一個顯著的例外)。文本字段最適合非結構化但可讀的內容。如果需要索引非結構化機器生成的內容,請參閱映射非結構化內容。

如果您需要索引結構化內容,如電子郵件地址、主機名、狀態代碼或標記,則可能更應該使用關鍵字字段。

文本類型分爲兩種:

(1)、text

全文內容(如電子郵件正文或產品描述)的傳統字段類型。

說明:當字段被設置成文本類型後,字段會被分析(經過過濾器和分詞器操作),會被分詞,在生成倒排索引前,字段會被分詞,分成一個個詞項,一般無法用作排序和聚合操作.(text無法創建正排索引(用於排序和聚合),因爲創建正排索引,會消耗大量的堆空間,尤其是加載高基數字段(經過去重之後,仍然有大量的重複的數據)時),字段一旦被加載到堆中,會在生命週期內保持在那裏,同樣加載數據也是非常的消耗資源,會產生延遲.  es默認不會給test創建正排索引

(2)、match_only_text

一種空間優化的文本變體,禁用評分,在需要位置的查詢上執行速度較慢。它最適合索引日誌消息。

其餘關於文本類型的介紹,參考官方文檔.

其餘關於搜索的類型參看官方說明.

 

4、ES對象關係類型 Objects and relational types

4.1 object 對象類型

一般用於嵌套類型,如User和UserType的嵌套關係,前提是兩者都是獨立的結構.JSON文檔本質上是分層的:文檔可能包含內部對象,而內部對象本身也可能包含內部對象

4.2 nested 對象數組類型

一般用於報存對象數組類型,嵌套類型是對象數據類型的專門版本,允許以相互獨立的方式對對象數組進行索引。

4.3 flattened 

默認情況下,對象中的每個子字段分別映射和索引。如果子字段的名稱或類型事先未知,則會動態映射它們。flattened 將整個對象映射爲單個字段。給定一個對象,展平映射將解析出其葉值,並將其索引到一個字段中作爲關鍵字。然後可以通過簡單的查詢和聚合來搜索對象的內容。但是也有限制,如只允許基本查詢,不支持數值範圍查詢或高亮顯示,具體參閱文檔.

4.4 join 關聯關係類型

連接數據類型是一個特殊字段,用於在相同索引的文檔中創建父/子關係。關係部分定義了文檔中一組可能的關係,每個關係都是父名稱和子名稱。

具體查看官方文檔

 

5、ES特殊數據類型

5.1 geo_pointgeo_shapepointshape   4大類型 常用於地理位置搜索具體查看官方文檔.

 

5.2 completion 配合Completion Suggester使用

自動完成建議類型,類似於百度搜索框輸入一段文字後,會出現一個建議的下拉框內容,該類型就是實現這個功能用的.

完成提示器提供鍵入時自動完成/搜索功能。這是一種導航功能,用於在用戶鍵入時引導用戶找到相關結果,從而提高搜索精度。它不是爲了拼寫糾正,或者你指的是像術語或短語提示器這樣的功能。理想情況下,自動完成功能應該與用戶鍵入的速度一樣快,以提供與用戶已鍵入內容相關的即時反饋。因此,完成建議器針對速度進行了優化。該建議器使用能夠快速查找的數據結構,但構建成本高,並且存儲在內存中。

 

其餘類型官方文檔查閱 https://www.elastic.co/guide/en/elasticsearch/reference/8.3/mapping-types.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章