我们可以在特定的document.field搜寻所有的话是这样的:elasticsearch匹配从文档中的所有词语的搜索查询
{ "query" : { "match" : { "title": { "query" : "Black Nike Mens", "operator" : "and" } } } }
这将搜索领域title
的话Black
,Nike
和Mens
这样只有返回的文档才会包含title
字段中的所有这些文字。
但我想要做的是有点不同。
我想要查找这样,如果文档中title
字段的所有单词都出现在我的搜索查询中,那么它将返回该文档。
例如,
假设有在elasticsearch数据库
现在如果我有一个query : "Nike Free Sparq 09 - Mens - White/Black/Varsity Red"
进行搜索,那么它应该返回这个文件,因为在我的查询确实存在都在document.title时话时title : "Nike Free Sparq Mens White"
文档
但如果我有query : "Nike Free Lebron - Mens - White/Black"
进行搜索,那么它应该不会返回文档,因为我的查询有缺失
这个词Sparq
是一种反向和运营商搜索的
这可能吗?如果是,那么如何?
看看这个链接。你会在那里找到你的答案:) http:// stackoverflow。com/questions/26001002/elastic-search-difference-between-term-match-phrase-and-query-string – betto86
感谢您的帮助@ betto86,它没有回答我的问题,但帮助我处理更多相关的事情。 –
虽然您发布了解决方法,但我也想知道更清晰的解决方案。 – akai