Ps: 对于任何答案,如果您可以指出答案所基于的ES官方文档,我将不胜感激。
答案 0 :(得分:3)
在很多情况下,搜索分析器都会出现。
查询类型:-分析了一些查询,但没有分析。像match query这样分析的查询在索引映射中定义的字段上使用相同的分析器,而像term query这样的查询则不使用任何搜索时间分析器。阅读elasticsearch match vs term query
ES官方文档的摘录
匹配查询的类型为boolean。这意味着提供的文本是 分析,分析过程从 提供的文字。
字段类型:默认情况下会分析文本字段,而标准分析器是默认的分析器,因此,如果您没有在索引映射中为文本字段定义分析器,然后进行匹配查询,它将使用standard
分析器,但是如果您使用term
查询,则它将不使用搜索时间分析器。
虽然如果您使用keyword
字段,则它将使用关键字分析器,它是无操作分析器,因此,对于关键字字段的匹配查询,它将使用关键字分析器,但本质上就像不应用搜索时间分析器。>
如果您正在使用匹配查询或任何其他使用搜索时间分析器的分析查询,那么您可以明确地将搜索时间分析器称为keyword analyzer,正如我所解释的那样,它是无操作分析器,因此生成令牌的过程将非常有效。
同时,我还将研究是否可以显式禁用搜索时间分析器。