2016-07-06 50 views
0

我目前在ES中使用“OR”运算符进行多重匹配查询。我遇到的问题是ES不知道哪个术语在搜索查询中最重要。当搜索的企业名单为ElasticSearch:使用“OR”运算符搜索结果不佳

natural cat food

我们可以告诉大家,cat显著更重要的是匹配比natural,并期望宠物用品商店回来。

但是因为naturalcat一样罕见,所以带有“天然头发护理产品”的沙龙将被返回,其宠物用品商店的评分与其描述中只有“猫”相似。

如果我切换到“AND”运算符,那么根本不会返回任何东西。那么如何让ES找出cat在这种情况下与natural相比更相关?

回答

0

在这种情况下,您可以使用提升。看一看here

+0

它看起来像助推仅适用于字段,而不是单个字 – jkstrawn

+0

您可以更改它们在查询中的顺序,因为同一级别上的单词被赋予相同的优先级,如此处所示https://www.elastic.co /guide/en/elasticsearch/guide/current/query-scoring.html或者给我你正在使用的确切查询,以便我更好地了解如何提供帮助。 – rajat

+0

此外,我认为你使用查询字符串,而不是使用bool查询 – rajat