- 布尔查询
type | description |
---|---|
must | 必须出现在匹配⽂文档中 |
filter | 必须出现在⽂文档中,但是不不打分 |
must_not | 不能出现在⽂文档中 |
should | 应该出现在⽂文档中 |
- must
{
"query": {
"bool": {
"must": [
{
"match": {
"teamName": "森林狼"
}
}
]
}
}
}
- 效果同must,但是不不打分
{
"query": {
"bool": {
"filter": [
{
"match": {
"teamName": "森林狼"
}
}
]
}
}
}
- must_not
{
"query": {
"bool": {
"must": [
{
"range": {
"age": {
"gte": 20,
"lte": 26
}
}
}
],
"must_not": [
{
"match": {
"position": "后卫"
}
}
]
}
}
}
- should
即使匹配不不到也返回,只是评分不不同
{
"query": {
"bool": {
"must": [
{
"match": {
"teamName": "太阳"
}
}
],
"must_not": [
{
"match": {
"position": "后卫"
}
}
],
"should": [
{
"range": {
"age": {
"gte": 30,
"lte": 40
}
}
}
]
}
}
}
如果minimum_should_match=1,则必须要查出
{
"query": {
"bool": {
"must": [
{
"match": {
"teamName": "太阳"
}
}
],
"must_not": [
{
"match": {
"position": "后卫"
}
}
],
"should": [
{
"range": {
"age": {
"gte": 30,
"lte": 40
}
}
}
],
"minimum_should_match": 1
}
}
}