禁用Elasticsearch搜索分析器

时间:2019-06-28 01:49:50

标签: elasticsearch elk

  • 我正在研究Elasticsearch 7.2版,并且在

    改善ES通话性能的过程 应用程序。
  • 根据我的阅读,如果我们尚未设置“搜索分析器”, 默认的标准分析仪将被设置。
  • 但是在不需要分析仪的情况下,请使用分析仪 可能会影响性能。将所有字段都设为“关键字” 防止这种情况?
  • 或者还有其他方法可以禁用此“搜索分析器”

Ps: 对于任何答案,如果您可以指出答案所基于的ES官方文档,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

在很多情况下,搜索分析器都会出现。

查询类型:-分析了一些查询,但没有分析。像match query这样分析的查询在索引映射中定义的字段上使用相同的分析器,而像term query这样的查询则不使用任何搜索时间分析器。阅读elasticsearch match vs term query

ES官方文档的摘录

  

匹配查询的类型为boolean。这意味着提供的文本是   分析,分析过程从   提供的文字。

字段类型:默认情况下会分析文本字段,而标准分析器是默认的分析器,因此,如果您没有在索引映射中为文本字段定义分析器,然后进行匹配查询,它将使用standard分析器,但是如果您使用term查询,则它将不使用搜索时间分析器。
虽然如果您使用keyword字段,则它将使用关键字分析器,它是无操作分析器,因此,对于关键字字段的匹配查询,它将使用关键字分析器,但本质上就像不应用搜索时间分析器。

如果您正在使用匹配查询或任何其他使用搜索时间分析器的分析查询,那么您可以明确地将搜索时间分析器称为keyword analyzer,正如我所解释的那样,它是无操作分析器,因此生成令牌的过程将非常有效。

同时,我还将研究是否可以显式禁用搜索时间分析器。