elasticsearch 查询多条件语句
时间: 2023-06-22 17:20:31 浏览: 241
Elasticsearch(ES)多条件(日期,时段,时分,mac。。)过滤实现案例(2.3.3版本)
可以使用布尔查询(bool query)来组合多个条件,布尔查询支持must(与)、should(或)、must_not(非)三种关系。
例如,要查询title字段包含"elasticsearch"且content字段包含"java"的文档,可以使用如下的查询语句:
```
{
"query": {
"bool": {
"must": [
{ "match": { "title": "elasticsearch" }},
{ "match": { "content": "java" }}
]
}
}
}
```
如果要查询title字段包含"elasticsearch"或content字段包含"java"的文档,则可以使用如下的查询语句:
```
{
"query": {
"bool": {
"should": [
{ "match": { "title": "elasticsearch" }},
{ "match": { "content": "java" }}
]
}
}
}
```
如果要查询title字段包含"elasticsearch"但content字段不包含"java"的文档,则可以使用如下的查询语句:
```
{
"query": {
"bool": {
"must": [
{ "match": { "title": "elasticsearch" }}
],
"must_not": [
{ "match": { "content": "java" }}
]
}
}
}
```
以上是一些常见的布尔查询语句,更多细节请查看elasticsearch官方文档。
阅读全文