(1)往ES里面直接插入數(shù)據(jù),ES會(huì)自動(dòng)建立索引掀虎,同時(shí)建立type以及對(duì)應(yīng)的mapping。
(2)mapping中就自動(dòng)定義了每個(gè)field的數(shù)據(jù)類(lèi)型
(3)不同的數(shù)據(jù)類(lèi)型(比如說(shuō)text和date)付枫,可能有的是exact value烹玉,有的是full text
(4)exact value,在建立倒排索引的時(shí)候阐滩,分詞的時(shí)候二打,是將整個(gè)值一起作為一個(gè)關(guān)鍵詞建立倒排索引中的;full text掂榔,會(huì)經(jīng)歷各種各樣的處理继效,分詞,normalization(時(shí)態(tài)轉(zhuǎn)換装获,同義詞轉(zhuǎn)換瑞信,大小寫(xiě)轉(zhuǎn)換等),才會(huì)建立倒倒排索引中
(5)同時(shí)呢穴豫,exact value和full text類(lèi)型的field就決定了凡简,在一個(gè)搜索過(guò)來(lái)的時(shí)候,對(duì)exact value filed 或者是full text field進(jìn)行搜索的行為也是不一樣的精肃,會(huì)跟建立倒排索引的行為保持一致潘鲫;比如說(shuō)exact value搜索的時(shí)候,就是直接按照整個(gè)值進(jìn)行匹配肋杖,full text query string,也會(huì)進(jìn)行分詞和normalization再去倒排索引中去搜索挖函。
(6)可以用ES的dynamic mapping状植,讓其自動(dòng)建立mapping浊竟,包括自動(dòng)設(shè)置數(shù)據(jù)類(lèi)型;也可以提前手動(dòng)創(chuàng)建index和type的mapping津畸,自己對(duì)各個(gè)field進(jìn)行設(shè)置振定,包括數(shù)據(jù)類(lèi)型,包括索引行為肉拓,包括分詞器等等后频。
那么mapping到底是什么?
mapping就是index的type的元數(shù)據(jù)暖途,每個(gè)type都有一個(gè)自己的mapping卑惜,決定了數(shù)據(jù)類(lèi)型,建立倒排索引的行為驻售,還有進(jìn)行搜索的行為露久。
若有興趣,歡迎來(lái)加入群欺栗,【Java初學(xué)者學(xué)習(xí)交流群】:458430385毫痕,此群有Java開(kāi)發(fā)人員、UI設(shè)計(jì)人員和前端工程師迟几。有問(wèn)必答消请,共同探討學(xué)習(xí),一起進(jìn)步类腮!
歡迎關(guān)注我的微信公眾號(hào)【Java碼農(nóng)社區(qū)】臊泰,會(huì)定時(shí)推送各種干貨: