共计 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 小编将为大家推送更多相关知识点的文章,欢迎关注!