ElasticSearch: term vs match查询决策



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

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

但是,如果我们已经将一个字段的映射定义为关键字,为什么还要在term和match之间做出决定,如果映射定义为关键字,它不总是一个术语查询吗?

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

同样的混淆,反之亦然

将分析(转换,分割)text字段以生成N个令牌,并且keyword本身将成为没有转换的令牌。最后,有N个令牌引用文档。

。通过执行匹配查询,通过在执行匹配(转换它)之前分析它,您将把您的查询也视为文本,而术语则不会。

您可以创建带有术语映射的字段,但随后在其上执行匹配查询(例如,如果您希望不区分大小写),您可以为n-gram创建文本映射并执行术语查询以准确匹配您所要求的内容。

最新更新