Consulta conjunta BOOL: Deve, deve, must_not
Se quisermos solicitar algo parecido com "conteúdo com BMW, mas não na tag", precisamos usar a consulta federada bool.
A consulta conjunta usará três palavras-chave: deve, deve, must_not.
Esses três podem ser entendidos dessa forma
must: O documento deve corresponder exatamente às condições
should: deve ter mais de uma condição, e se pelo menos uma condição for cumprida, este documento atenderá a se
must_not:O documento não deve corresponder aos critérios
Introdução ao site oficial:https://www.elastic.co/guide/cn/ ... bining-filters.html
Consultar DSL
match_all Consulta
Todos os documentos podem ser consultados, e é a instrução padrão sem condições de consulta.
Essa consulta é frequentemente usada para mesclar filtros. Por exemplo, você precisa recuperar todas as caixas de correio, e toda a relevância dos documentos é a mesma, então o _score que você recebe é 1.
Consulta de correspondência
Uma consulta de correspondência é uma consulta padrão que basicamente é usada tanto para uma consulta em texto completo quanto para uma consulta exata.
Se você usar corresponder para consultar um campo de texto completo, ele usará o analisador para analisar os caracteres da consulta antes da consulta propriamente dita:
Se você especificar um valor exato em correspondência, ele buscará seu valor dado quando encontrar um número, data, booleano ou not_analyzed string:
Dica: Ao fazer uma busca por correspondência exata, é melhor usar instruções de filtro porque as instruções de filtro armazenam dados em cache.
Uma consulta de correspondência só pode buscar um valor exato que especifique um campo exato, e tudo o que você precisa fazer é especificar o nome correto do campo para evitar erros de sintaxe.
multi_match Consulta
multi_match consulta permite que você pesquise vários campos ao mesmo tempo com base em uma consulta de correspondência, e procure um em vários campos ao mesmo tempo:
Consulta BOOL
Consultas bool são semelhantes ao filtro bool e são usadas para mesclar múltiplas cláusulas de consulta. A diferença é que o filtro bool pode indicar diretamente se a correspondência foi bem-sucedida, enquanto a consulta bool calcula o _score (pontuação de correlação) de cada cláusula de consulta.
must:: 查询指定文档一定要被包含。 must_not:: Documentos especificados para consulta não devem ser incluídos.
should:: 查询指定文档,有则可以为文档相关性加分。
A consulta a seguir mostrará que o campo de título contém "como ganhar milhões" e que o campo "tag" não está marcado como spam. Se forem rotulados como "com estrela" ou tiverem data de lançamento antes de 2014, então esses documentos correspondentes estarão em um nível mais alto do que sites similares:
Dica: Se não houver cláusula de obrigação na consulta bool, deve haver pelo menos uma cláusula de deved. Mas se houver uma cláusula must, então a consulta também pode ser feita sem a cláusula need.
Consulta de coringas
Use consultas padrão de shell de coringa
A consulta a seguir corresponde a documentos contendo W1F 7HW e W2F 8HW:
Por exemplo, a consulta a seguir para nome de host corresponde ao seguinte coringa da shell:
Consulta regexp
Digamos que você queira combinar apenas códigos postais que começam com W seguido de números. Usar consultas regexp permite que você escreva padrões mais complexos:
Essa expressão regular especifica que a entrada deve começar com W, seguido por um número de 0 a 9, seguido por um ou mais outros caracteres.
O exemplo a seguir mostra todos os inícios regulares com wxopen
Consulta ao prefixo
Com qual caractere ele começa, você pode usar o prefixo de forma mais simples, como no exemplo abaixo:
Correspondência de Frases
Quando você precisa encontrar algumas palavras próximas, você usa match_phrase consulta:
Semelhante às consultas de correspondência, match_phrase consulta primeiro analisa a string de consulta para produzir uma lista de termos. Ele vai procurar todas as entradas, No entanto, apenas documentos contendo todos os termos de busca são mantidos, e as posições dos termos devem ser adjacentes. Uma consulta para a expressão Raposa Rápida não vai corresponder Qualquer uma de nossas documentações, já que nenhuma documentação contém entradas rápidas e de caixas adjacentes uma à outra. match_phrase consulta também pode ser escrita como uma consulta de correspondência de frase tipográfica:
|