1、must 必须满足某些条件
1:bool操作
2:must为必须满足 多个math为并且的关系,下面的语句表示gender必须是M 并且age必须是28的
GET /bank/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"gender": "M"
}
},
{
"match": {
"age": "28"
}
}
]
}
}
}
2、must_not 必须不满足某些条件
1:bool操作
2:must为必须满足 多个math为并且的关系,下面的语句表示gender必须是M 并且age必须是28的,并且address不含mill的
GET /bank/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"gender": "M"
}
},
{
"match": {
"age": "28"
}
}
],
"must_not": [
{
"match": {
"address": "mill"
}
}
]
}
}
}
3、should 可以满足,也可以不满足,满足的记录得分较高,排序靠前
1:bool操作
2:should 为可以满足,也可以不满足 下面的语句表示gender必须是M 并且age必须是28的,并且address不含mill的,firstname为Davidson的排序靠前
GET /bank/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"gender": "M"
}
},
{
"match": {
"age": "28"
}
}
],
"must_not": [
{
"match": {
"address": "mill"
}
}
],
"should": [
{
"match": {
"firstname": "Davidson"
}
}
]
}
}
}