共計 1314 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要講解了“Elasticsearch 的 dynamic_templates 怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“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
}
}
}
]
}
}
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 (字段名稱匹配,但類型不匹配)
通常一個索引中的所有類型具有共享的字段和設置,用_default_映射來指定會設置更方便,而不是每次創建一個類型是重復操作。_default_映射新類型的模板,除非在自己類型的明確進行覆蓋
感謝各位的閱讀,以上就是“Elasticsearch 的 dynamic_templates 怎么使用”的內容了,經過本文的學習后,相信大家對 Elasticsearch 的 dynamic_templates 怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!