compound 쿼리는 하나 이상의 쿼리를 조합하여 검색을 할수 있다. bool 쿼리 하위에 다른 쿼리들을 조합하여 복잡한 조건의 쿼리를 수행할 수 있다.
bool 쿼리는 주어진 다른 쿼리들과 논리 조합으로 검색을 할수 있다.
must: 해당 조건에 만족한다. 문서 score에 계산된다.must_not: 해당 조건을 만족하지 않아야한다. 문서 score로 계산하지 않는다. (filter context)filter: must와 동일하지만, 문서 score로 계산하지 않는다. (filter context)should: 주어진 조건들 중에 최소한 하나 이상을 만족해야한다. 문서 score에 계산된다.POST _search
{
"query": {
"bool": {
"must": {
"term": {
"user": "kimchy"
}
},
"filter": {
"term": {
"tag": "tech"
}
},
"must_not": {
"range": {
"age": {
"gte": 10,
"lte": 20
}
}
},
"should": [
{
"term": {
"tag": "wow"
}
},
{
"term": {
"tag": "elasticsearch"
}
}
],
"minimum_should_match": 1,
"boost": 1.0
}
}
}