橡皮、老虎皮、狮子皮哪一个最不好?

存在自有 mapping 会忽略动态模板中的 mapping 么?

Elasticsearch | 作者 nutboy | 发布于2017年11月10日 | 阅读数:2825

问题描述:
我们现在 es 中已经索引很多类型数据,并且已经指定了 mapping。现在为了优化中文检索效果,增加了 ik 中文分词,那需要重建索引,在 mapping 中指定 analyer,但是每个 field 单独指定 analyzer 比较麻烦,所以想用动态模板匹配每个 string 类型的 field 的 analyzer,同时原有的 mapping 也存在(只是指定 field 的类型)。原本希望的方式是,field 的 datatype 沿用自己指定的,analyzer 通过动态模板动态匹配,不过实际效果没有用动态模板中的配置。

疑问:
所以请问下,如果存在自有 mapping ,会忽略动态模板中的配置么?如果是这个问题,还有简便的方法为所有 string 的 field 增加 analyzer 么?
已邀请:

zz_hello

赞同来自:

6.x实测会忽略的。可以在default里面设置缺省的分析器

zqc0512 - andy zhou

赞同来自:

好像有个order 顺序吧……

rochy - rochy_he

赞同来自:

如果你现有的字段的 mapping 没有设置 analyzer,那么索引模板是可以生效的
不过默认情况下,索引重建的时候是不会同步 mapping 信息的
你只需要在索引模板里面设置好 string 类型字段的 mapping 信息即可生效了

要回复问题请先登录注册