Elasticsearch的dynamic

69次阅读
没有评论

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

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1314字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)