BOOL предназначается, чтобы быть использованы для различных запросов клуба вместе в одном запросе BOOL. Вы можете использовать логическое значение для объединения нескольких запросов таким образом -
{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "field:text"
}
},
{
"match": {
"field": "text"
}
}
]
}
}
}
Сусло положение будет убедиться, что все условия согласованы. Вы также можете использовать if, который будет следить за тем, чтобы один из запросов был согласован в случае использования только необходимости.
Как BOOL это просто другой тип запроса, вы можете также клуб BOOL запросы внутри BOOL запросов следующим образом -
{
"query": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"query_string": {
"query": "field:text"
}
},
{
"match": {
"field": "value"
}
}
]
}
},
{
"match": {
"field": "text"
}
}
]
}
}
}