我试图在ElasticSearch8.4中过滤掉一些文档。我遇到的问题是这样的...
must_not: [
match: { ingredients: { query : 'peanut butter' } }
]
似乎将查询分解为“peanut”和“butter”。然后,包含“butter”成分的文档会被错误地过滤。有没有方法在不定义自定义分析器的情况下防止这种标记化?或者可能有不同的搜索方法来获得该结果?
我试图在ElasticSearch8.4中过滤掉一些文档。我遇到的问题是这样的...
must_not: [
match: { ingredients: { query : 'peanut butter' } }
]
似乎将查询分解为“peanut”和“butter”。然后,包含“butter”成分的文档会被错误地过滤。有没有方法在不定义自定义分析器的情况下防止这种标记化?或者可能有不同的搜索方法来获得该结果?
1条答案
按热度按时间iugsix8n1#
如果您不想过滤只包含“peanut”或“butter”的文档,则需要使用“and”运算符。这样,只有包含“peanut butter”的文档才会被过滤。