我们可以像这样在特定document.field中搜索所有单词:
{ "query" : { "match" : { "title": { "query" : "Black Nike Mens", "operator" : "and" } } } }
这将搜索词Black,Nike并Mens在该领域title,从而只返回这些文档将在所有这些词title场。
Black
Nike
Mens
title
但是我想做的却有些不同。
我想进行查找,以便如果title该文档字段的所有单词都出现在我的搜索查询中,则它将返回该文档。
例如
假设title : "Nike Free Sparq Mens White"Elasticsearch数据库中有一个文档
title : "Nike Free Sparq Mens White"
现在,如果我搜索“ a”,query : "Nike Free Sparq 09 - Mens - White/Black/Varsity Red"它将返回该文档,因为document.title中的所有单词确实存在于我的查询中
query : "Nike Free Sparq 09 - Mens - White/Black/Varsity Red"
但是,如果我搜索“ a”,query : "Nike Free Lebron - Mens - White/Black"则它不应返回文档,因为我的查询中Sparq缺少“ word”一词
query : "Nike Free Lebron - Mens - White/Black"
Sparq
这是一种反向运算符搜索
这可能吗?如果是,那怎么办?
我终于让它工作了,但没有直接方法!
这是我的工作:
这对我来说足够好了!
除非有人从Elasticsearch查询语言获得直接方法。