elasticsearch head 复合查询_Elasticsearch之复合查询--- booting查询的使用案例
时间: 2023-06-21 10:24:53 浏览: 171
好的,让我来回答你的问题。
对于 Elasticsearch 的复合查询,可以使用 bool 查询。bool 查询可以将多个查询条件组合起来,包括 must、should、must_not 三种子查询。
其中,must 表示必须满足的条件,相当于逻辑上的 AND。should 表示可以满足的条件,相当于逻辑上的 OR。must_not 表示必须不满足的条件,相当于逻辑上的 NOT。
下面是一个使用 bool 查询的示例:
```json
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "apple"
}
},
{
"range": {
"price": {
"gte": 10,
"lte": 100
}
}
}
],
"should": [
{
"term": {
"color": "red"
}
},
{
"term": {
"color": "green"
}
}
],
"must_not": [
{
"term": {
"category": "banana"
}
}
]
}
}
}
```
以上查询表示查询 name 包含 "apple",price 在 10 到 100 之间,并且颜色是 "red" 或者 "green",但是不能是类别为 "banana" 的文档。
希望这个回答能够帮到你。
阅读全文