Elasticsearch 搜索与聚合功能深度解析
1. 布尔查询子句详解
在 Elasticsearch 中,布尔查询(bool query)是一种强大的复合查询,它允许我们将多个子查询组合在一起,以创建更复杂、更精确的查询条件。布尔查询包含四个重要的子句:must、must_not、should 和 filter。
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 的书籍,可以使用 mu
超级会员免费看
订阅专栏 解锁全文

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



