Elasticsearch 搜索与聚合功能详解
1. 复合查询之 bool 查询
在 Elasticsearch 中,bool 查询是一种强大的复合查询方式,它允许我们将多个子查询组合在一起,通过不同的子句来构建复杂的查询条件。
1.1 must 子句
must 子句表示文档必须满足其中的所有查询条件。以下是一个包含两个叶子查询的 must 子句示例:
GET books/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"author": "Joshua Bloch"
}
},
{
"match_phrase": {
"synopsis": "best Java programming books"
}
}
]
}
}
}
这个查询会找出作者为 Joshua Bloch 且简介中包含 “best Java programming books” 短语的书籍。
1.2 must_not 子句
must_not 子句用于排除满足特定条件的文档。例如,我们不想获取评分低于 4.7 的 Joshua Bloch 的书籍,可以使用以下查询:
GET books
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



