0

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

我读到的关于术语与匹配查询的内容是术语查询用于精确匹配,而匹配查询用于搜索术语并希望基于相关性分数的结果。

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

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

同样的混乱反之亦然。

4

1 回答 1

0

一个text字段会被分析(transformed,split)生成N个token,它keyword本身会变成一个没有transformation的token。最后,您有 N 个标记引用文档。

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

您可以使用术语映射创建一个字段,然后在其之上执行匹配查询(例如,如果您希望不区分大小写),您可以为 n-gram 创建文本映射并执行术语查询以完全符合您的要求。

于 2021-09-17T12:29:09.207 回答