在弹性搜索中禁用分析器的副作用是什么?

时间:2015-03-23 06:56:06

标签: elasticsearch aggregation

为了使聚合工作,我也禁用了分析器(as described here in this link

现在我想知道是否有副作用?例如它会影响搜索性能吗?

官方文档中没有太多内容,我只是谈论默认分析器

2 个答案:

答案 0 :(得分:2)

当然有副作用。现在,如果用户仅搜索“foo”,则其值为“foo bar”的字段将无法搜索。

要使聚合在未分析的字段上运行,您可以尝试将该字段转换为multi-fields

答案 1 :(得分:0)

“not_analyzed”字段只会与完整查询完全匹配。

它们对于不应拆分为多个标记的标记特别有用:ID,标记,邮件地址,城市名称等

聚合的性能和副作用取决于您要实现的目标。

如果您对包含标签的字符串字段进行聚合;例如,城市名称,您可能不想分析,或者“纽约”将被拆分为“新”和“约克”。关于“约克”的统计数据将指代纽约和英国约克城市!这不是想要的。

如果你正在对文本进行聚合,例如找到更频繁的单词,你可能想要一个分析的字段,因为你想分别计算“new”和“york”。

有关analysis如何影响聚合的详情,请参阅文档。