探索ElasticSearch中的Mapping概念
在ElasticSearch中,索引的Mapping類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)表的Schema,定義了索引包含的字段、數(shù)據(jù)類(lèi)型以及是否構(gòu)建倒排索引和使用的分詞器。本文將分享Mapping的相關(guān)知識(shí)和應(yīng)用。 了
在ElasticSearch中,索引的Mapping類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)表的Schema,定義了索引包含的字段、數(shù)據(jù)類(lèi)型以及是否構(gòu)建倒排索引和使用的分詞器。本文將分享Mapping的相關(guān)知識(shí)和應(yīng)用。
了解Mapping的基礎(chǔ)
首先,在Kibana管理界面中點(diǎn)擊“索引管理”,選擇一個(gè)索引并點(diǎn)擊進(jìn)入“映射”頁(yè)簽,即可查看該索引的Mapping信息。重點(diǎn)關(guān)注文本類(lèi)型字段中的"ignore_above"配置項(xiàng),用于控制不進(jìn)行分詞的字段的長(zhǎng)度限制。
自動(dòng)構(gòu)建索引的Mapping信息
當(dāng)向一個(gè)不存在的索引中添加文檔數(shù)據(jù)時(shí),ElasticSearch會(huì)自動(dòng)創(chuàng)建索引并根據(jù)文檔數(shù)據(jù)推斷字段類(lèi)型,構(gòu)建相應(yīng)的Mapping信息。
動(dòng)態(tài)Mapping概念
Mapping中有一個(gè)dynamic屬性,決定如何處理新增文檔中包含的新增字段。默認(rèn)情況下(值為true),新增字段會(huì)被索引,可以被搜索。當(dāng)dynamic設(shè)為false時(shí),新增字段不能被索引;設(shè)為strict時(shí),新增字段會(huì)導(dǎo)致文檔新增失敗。
dynamic為false的情況
設(shè)置Mapping的dynamic屬性為false后,嘗試新增一條帶新字段的文檔會(huì)成功添加,但無(wú)法通過(guò)新字段查詢(xún)到該文檔數(shù)據(jù)。
dynamic為strict的情況
將Mapping的dynamic屬性設(shè)為strict,再次嘗試新增一條包含新字段的文檔時(shí),會(huì)發(fā)現(xiàn)文檔新增失敗,嚴(yán)格限制了新增字段的接受范圍。
通過(guò)深入了解ElasticSearch中Mapping的概念和使用方法,可以更好地理解和管理索引的結(jié)構(gòu),提高數(shù)據(jù)的搜索效率和準(zhǔn)確性。對(duì)于開(kāi)發(fā)人員和系統(tǒng)管理員來(lái)說(shuō),掌握Mapping是必不可少的技能,有助于優(yōu)化ElasticSearch的數(shù)據(jù)處理流程和性能表現(xiàn)。