Elasticsearch 的`bool`查询是构建复杂查询条件的核心工具之一。它允许通过布尔逻辑组合多个查询子句,以实现精确的搜索需求。`bool`查询支持四种主要的子句类型:`must`、`should`、`filter`和`must_not`。每种子句类型都有其特定的作用和行为。
1.`bool`查询的基本结构
`bool`查询的基本结构如下:
```json
{
"query": {
"bool": {
"must": [/* 必须匹配的查询 */],
"should": [/* 应该匹配的查询 */],
"filter": [/* 过滤条件 */],
"must_not": [/* 必须不匹配的查询 */]
}
}
}
```
2.子句类型详解
2.1`must`子句
• 作用:`must`子句中的查询必须匹配。它相当于逻辑“与”(AND)操作。
• 评分:`must`子句中的查询会对文档的评分(`_score`)有贡献。
• 示例:
```json
{
"query": {
"bool": {
"must": [
{ "match": { "title": "Elasticsearch" } },
{ "match": {

最低0.47元/天 解锁文章
1240

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



