我有一些搜索查询,例如"match":{"product name":"glasses car"}
,所以我正在寻找眼镜或汽车(或两者)。
但我想排除其中包含google glass
或google car
的文档。那我怎么过滤掉它们呢?
我可以使用bool查询并使用must_not作为google
,但之后我将失去得分并获得恒定分数。
答案 0 :(得分:1)
您应该使用filtered query
filter
来排除google
之类的字词,并将主搜索保留为query
。
filter
不会影响评分,只会影响已过滤查询的query
部分。
您可以在ElasticSearch文档中的Filtered Query page上找到一个小例子。