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