2014-12-29 2 views

ответ

19

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" 
      } 
     } 
     ] 
    } 
    } 
} 
Смежные вопросы