43_初識搜尋引擎_什麼是mapping再次回爐透徹理解

5765809發表於2024-10-02

(1)往es裡面直接插入資料,es會自動建立索引,同時建立type以及對應的mapping
(2)mapping中就自動定義了每個field的資料型別
(3)不同的資料型別(比如說text和date),可能有的是exact value,有的是full text
(4)exact value,在建立倒排索引的時候,分詞的時候,是將整個值一起作為一個關鍵詞建立到倒排索引中的;full text,會經歷各種各樣的處理,分詞,normaliztion(時態轉換,同義詞轉換,大小寫轉換),才會建立到倒排索引中
(5)同時呢,exact value和full text型別的field就決定了,在一個搜尋過來的時候,對exact value field或者是full text field進行搜尋的行為也是不一樣的,會跟建立倒排索引的行為保持一致;比如說exact value搜尋的時候,就是直接按照整個值進行匹配,full text query string,也會進行分詞和normalization再去倒排索引中去搜尋
(6)可以用es的dynamic mapping,讓其自動建立mapping,包括自動設定資料型別;也可以提前手動建立index和type的mapping,自己對各個field進行設定,包括資料型別,包括索引行為,包括分詞器,等等

mapping,就是index的type的後設資料,每個type都有一個自己的mapping,決定了資料型別,建立倒排索引的行為,還有進行搜尋的行為

相關文章