標籤:app query 一個 有一個 div log 中繼資料 mic 大小寫轉換
(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,決定了資料類型,建立倒排索引的行為,還有進行搜尋的行為
1、mapping核心的資料類型
string,byte,short,integer,long,float,double,boolean,date
2、dynamic mapping
true or false --> boolean
123 --> long
123.45 --> double
2017-01-01 --> date
"hello world" --> string/text
3、查看mapping
GET /index/_mapping/type
es中對mapping的理解