ElasticSearch 在不属于"new york"时随时匹配单词"new"



我有三个文档,只有一个text字段。以下是它们的内容:

1) {"text": "I want to match docs with a word New"}
2) {"text": "But I don't want to match docs with a phrase New York"}
3) {"text": "However I still want to match docs with a word New which has a phrase New York"}
4) {"text": "For example let's say there's a New restaraunt in New York and I want this doc to be matched."}

有什么方法可以匹配除第二个文档之外的所有文档吗?理想情况下,我想使用简单的查询字符串或查询字符串,但任何其他解决方案都可以。我试图修补邻近查询和 shignles,但失败了。我设法通过使用全文正则表达式匹配来实现这一点,但我还不想走这条路。查询-"new york" new与文档 3 和 4 不匹配。我完全不需要这两个词,一个人如何做到这一点的想法在这里很重要。通常,我希望能够在一些小单词距离N内匹配任何没有前置/后跟单词B的单词A

提前感谢!

这个简单问题的黑客,但您可以尝试同义词替换 纽约,纽约 => 纽约 在索引期间

最新更新