Elasticsearch 怎么写出以下查询条件,should条件中套and 类似mysql中的 where (1 = 1 and 1 = 1) or (2 = and 2 = 2);
时间: 2024-05-10 18:18:21 浏览: 60
es基本查询,query match term bool should ,and ,put ,post等操作
可以使用 Elasticsearch 的 bool 查询来实现这个查询条件。其中,bool 查询支持 must、must_not、should 和 filter 四种子句,可以根据具体的需求组合这些子句。下面是一个示例查询条件:
```
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{ "match": { "field1": 1 } },
{ "match": { "field2": 1 } }
]
}
},
{
"bool": {
"must": [
{ "match": { "field1": 2 } },
{ "match": { "field2": 2 } }
]
}
}
]
}
}
}
```
上面的查询条件中,should 子句表示两个条件之间是或的关系,而每个子条件都是一个 bool 查询,内部的 must 子句表示两个条件之间是与的关系。因此,这个查询条件的含义是:找到 field1 和 field2 分别等于 1 或者 field1 和 field2 分别等于 2 的文档。
阅读全文