09 對映(mappings)

wyaoyao93發表於2020-11-30

1 概念

對映是定義儲存和索引的文件型別以及欄位的過程。一個對映定義了文件結構內的每個欄位的資料型別。對映通過配置來定義欄位型別與該型別相關聯的後設資料型別。可以在對映中預先定義欄位的資料型別,分詞器,欄位權重等屬性

1.1 對映型別

對映分為靜態對映動態對映

之前建立索引的時候並沒設定這些資訊,es會在文件寫入的時候,根據欄位的型別進行自動判斷,這個就是動態對映。
靜態對映則是在寫入資料之前進行手工對映。

對映主要包括:

  • 元欄位:用來定義如何處理文件的後設資料。元欄位包括文件的_index_type_id_source
  • 欄位或屬性。

1.2 欄位型別

string,text,keyword

  • string型別已經被移除了,由text和keyword替代
  • 如果一個欄位要被全文索引,應該使用text型別,設定text型別之後會被分詞器分成一個個詞項,text型別很少用於聚合(termsAggregation除外),不用於排序
  • keyword適用於索引結構化的欄位,比如email地址,主機名,狀態碼,標籤。通常用於過濾(比如查詢已釋出部落格中status屬性為publish的文章),排序,聚合。只能通過精確值搜尋到,區別於text型別

數字型

  • 處理浮點數的時候,優先考慮使用scaled_float型別。scaled_float型別是通過縮放因子把浮點數變成long。比如價格只需要精確到分,比如57.23,就可以把縮放因子設定為100,這樣es儲存的時候就是5723,

相關文章