提问者:小点点

ElasticSearch:术语与匹配查询决策


作为ElasticSearch的新手,我的理解需要帮助。

我所了解的术语与匹配查询是术语查询用于精确匹配,而匹配查询用于当我们搜索一个术语并想要基于相关性分数的结果时。

但是,如果我们已经将字段的映射定义为关键字,为什么有人必须在术语与匹配之间做出决定,那么如果映射被定义为关键字,它是否总是一个术语查询?

有人会在关键字映射字段上进行匹配查询的用例是什么?

同样的困惑反过来也是一样。


共1个答案

匿名用户

一个text字段将被分析(转换、拆分)以生成N个标记,关键字本身将成为一个没有转换的标记。最后,您有N个标记引用一个文档。

然后。通过执行匹配查询,您也可以将查询视为文本,在执行匹配(转换)之前对其进行分析,而术语不会。

您可以创建一个带有术语映射的字段,然后在其上执行匹配查询(例如,如果您想要不区分大小写),并且您可以为n-gram创建一个文本映射,然后执行一个术语查询来精确匹配您所请求的内容。