我正在尝试查询包含边缘ngram的Elasticsearch包装的Lucene索引,并且无法弄清楚如何将布尔运算符应用于它的文档。我有这个:
{
"query":{
"bool":{
"should":[
{
"match":{
"name.partial":"+henry +james"
}
}
]
}
}}
这不起作用(我得到亨利和没有詹姆斯的结果,反之亦然),“亨利詹姆斯”,或者亨利和詹姆斯 - 无论如何,我都会得到同样的东西。我如何得到我想要的行为?
答案 0 :(得分:0)
您应该使用query_string查询。如果你使用匹配查询,我认为你唯一能做的就是指定查询和运算符使用如下:
{
"match" : {
"message" : {
"query" : "this is a test",
"operator" : "and"
}
}
}