【发布时间】:2017-09-18 03:33:32
【问题描述】:
我在这里遵循https://dzone.com/articles/23-useful-elasticsearch-example-queries 的指南,下面的布尔查询让我感到困惑:
{
"query": {
"bool": {
"must": {
"bool" : { "should": [
{ "match": { "title": "Elasticsearch" }},
{ "match": { "title": "Solr" }} ] }
},
"must": { "match": { "authors": "clinton gormely" }},
"must_not": { "match": {"authors": "radu gheorge" }}
}
}
}
根据教程,查询的解释是:
搜索标题中带有“Elasticsearch”或“Solr”字样的书, AND 由“clinton gormley”撰写,但不是由“radu”撰写 乔治”
我的问题是,bool 查询中有 3 个条件但也有 3 个逻辑运算符(必须、必须、must_not)而不是 2。我的理解是 3 个条件应该只有 2 个逻辑运算符,如 COND1 AND COND2 AND !COND3。
这里有什么我遗漏的吗?
【问题讨论】:
标签: elasticsearch boolean