0

我有一些搜索查询,例如"match":{"product name":"glasses car"}我正在寻找眼镜或汽车(或两者)。

但我想排除包含google glass或包含google car在其中的文档。那么我将如何过滤掉它们呢?

我可以使用 bool 查询并使用 must_not for google,但是我将失去得分并获得恒定分数。

4

1 回答 1

1

您应该使用 afiltered query和 afilter来排除类似的单词google并将您的主要搜索保留为query.

filter不影响评分,仅过滤查询的一部分query会影响评分。

您可以在 ElasticSearch 文档的Filtered Query 页面上找到一个小示例。

于 2013-06-17T09:42:47.463 回答