您好,登錄后才能下訂單哦!
這篇文章主要講解了“Elasticsearch的dynamic_templates怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Elasticsearch的dynamic_templates怎么使用”吧!
一、
使用dynamic_templates可以完全控制新字段的映射,你設(shè)置可以通過字段名或數(shù)據(jù)類型應(yīng)用一個完全不同的映射。
每個模板都由一個名字用于描述這個模板的用途,一個mapping字段用于指導(dǎo)這個映射怎么使用,和至少一個參數(shù)match來定義這個模板使用哪個字段。模板是按照順序檢測的,第一個匹配的模板會被啟用。通常把具體的模板放置在第一位,不然通用性模板會匹配,導(dǎo)致具體的是無法被匹配到的。
注:以下都是在sense上操作的
例子:我們?yōu)?my_index/my_type 分別創(chuàng)建
es:字段名以_es結(jié)尾的且是string類型的,需要使用spanish分詞器
enn:其他字段的且是string類型的,需要使用english分詞器
DELETE /my_index PUT /my_index { "mappings":{ "my_type":{ "dynamic_templates":[ { "es":{ =>模板名稱,隨意,一般要有語義 "match":"*_es", =>匹配字段名稱 "match_mapping_type":"string" =>匹配字段類型 "mapping":{ => 當(dāng)匹配到之后,該字段的具體設(shè)置 "type":"string", "anaylzer":"spanish" } } }, { "en":{ =>模板名稱,隨意,一般要有語義 "match":"*", =>匹配字段名稱(任意,通用的順序要在之后) "match_mapping_type":"string" =>匹配字段類型 "mapping":{ => 當(dāng)匹配到之后,該字段的具體設(shè)置 "type":"string", "anaylzer":"english" } } } ] } } } POST /my_index/my_type { "str_es":"xxx", => 匹配es (字段名稱匹配,類型匹配) "long_es":123, => 不會匹配es (字段名稱匹配,但類型不匹配) "date_es":"2015-01-01", => 不會匹配es (字段名稱匹配,但類型不匹配) "long_en":123, => 不會匹配en (字段名稱匹配,但類型不匹配) "str_en":"xxx", => 匹配en (字段名稱匹配,但類型不匹配) "date_en":"2015-01-01" => 不會匹配en (字段名稱匹配,但類型不匹配) } //mapping如下,正是結(jié)果 GET /my_index/my_type { "my_index": { "mappings": { "my_type": { "dynamic_templates": [ { "es": { "mapping": { "analyzer": "spanish", "type": "string" }, "match": "*_es", "match_mapping_type": "string" } }, { "en": { "mapping": { "analyzer": "english", "type": "string" }, "match": "*", "match_mapping_type": "string" } } ], "properties": { "date_en": { "type": "date", "format": "dateOptionalTime" }, "date_es": { "type": "date", "format": "dateOptionalTime" }, "long_en": { "type": "long" }, "long_es": { "type": "long" }, "str_en": { "type": "string", "analyzer": "english" }, "str_es": { "type": "string", "analyzer": "spanish" }, "str_es2": { "type": "string", "analyzer": "english" } } } } } } 二、默認(rèn)映射 _default_ 通常一個索引中的所有類型具有共享的字段和設(shè)置,用_default_映射來指定會設(shè)置更方便,而不是每次創(chuàng)建一個類型是重復(fù)操作。_default_映射新類型的模板,除非在自己類型的明確進(jìn)行覆蓋
感謝各位的閱讀,以上就是“Elasticsearch的dynamic_templates怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Elasticsearch的dynamic_templates怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。