##预设数据
POST test/_doc/1 { "name":"张三", "sex":"男", "score":70 } POST test/_doc/2 { "name":"李四", "sex":"女", "score":70 } POST test/_doc/3 { "name":"王五", "sex":"男", "score":80 }
## 查找 男性并且成绩是70或者80的人
ES7之前失效,7之后的版本支持该写法
GET test/_search
{
"query": {
"bool": {
"must": [
{"term": {
"sex": {
"value":"男"
}
}}
],
"should": [
{"term": {
"score": {
"value": 70
}
}},
{"term": {
"score": {
"value": 80
}
}}
]
}
}
}
##第二种写法
GET test/_search
{
"query": {
"bool": {
"must": [
{"term": {
"sex": {
"value": "男"
}
}},
{
"bool": {
"should": [
{"term": {
"score": {
"value": 70
}
}},
{"term": {
"score": {
"value": 80
}
}}
]
}
}
]
}
}
}