O BoolQuery combina várias subconsultas em uma única consulta composta usando lógica booleana. Cada subconsulta pode ser de qualquer tipo, inclusive outro BoolQuery.
Estrutura de dados
message BoolQuery {
repeated Query must_queries = 1;
repeated Query must_not_queries = 2;
repeated Query filter_queries = 3;
repeated Query should_queries = 4;
optional int32 minimum_should_match = 5;
}
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
must_queries |
repeated Query |
Não |
AND — subconsultas obrigatórias para as linhas. Todas as condições nesta lista devem corresponder. |
|
must_not_queries |
repeated Query |
Não |
NOT — subconsultas proibidas para as linhas. O sistema exclui linhas correspondentes a qualquer condição desta lista. Se houver várias subconsultas, apenas as linhas sem nenhuma correspondência serão retornadas (equivalente a NOT(A OR B)). |
|
filter_queries |
repeated Query |
Não |
AND (sem pontuação) — subconsultas obrigatórias para as linhas, semelhantes a must_queries, porém as correspondências não afetam a pontuação de relevância. |
|
should_queries |
repeated Query |
Não |
OR — subconsultas opcionais para as linhas. As linhas devem atender ao número mínimo de condições definido por minimum_should_match. Quanto mais condições satisfeitas, maior a pontuação de relevância. |
|
minimum_should_match |
int32 |
Não |
Número mínimo de condições de should_queries que uma linha deve satisfazer. Se apenas should_queries for especificado, o padrão é 1. Caso must_queries, must_not_queries ou filter_queries também estejam presentes, o padrão é 0. |