Wildcard Query Elasticsearch

Wildcard Query Elasticsearch

Um curinga refere -se a um caráter de espaço reservado especial interpretado e substituído por várias iterações baseadas em sua localização. O uso de curingas é comum ao executar pesquisas, especialmente onde a pesquisa de destino não é conhecida com precisão.

No Elasticsearch, há duas maneiras de procurar itens sem saber a correspondência exata. O primeiro é usar a imprecisão (verifique nosso tutorial sobre o assunto), e o outro é usar a pesquisa curinga.

Este tutorial ensinará como usar consultas de pesquisa curinga para localizar itens sem saber a correspondência exata.

Uso básico

Para ilustrar como usar a consulta WildCard ElasticSerch, usaremos o Índice de Dados do Comércio de Sample Kibana.

No índice, temos informações dos clientes. Suponha que queremos obter os resultados onde o primeiro nome do cliente corresponde a J*y.

Podemos realizar uma consulta como mostrado:

Get /kibana_sample_data_ecommerce /_search?bonito

"consulta":
"Wildcard":
"Customer_first_name":
"Valor": "J*n",
"Boost": 2



Se executarmos a solicitação no índice, devemos obter os documentos em que o cliente_first_name começa com um j e termina com um n.

Uma captura de tela de amostra da resposta está abaixo:

Suponha que saibamos o número exato de caracteres no nome. Por exemplo, não temos certeza se é Jim ou Jimmy; Podemos usar o ? personagem como:

Get /kibana_sample_data_ecommerce /_search?bonito

"consulta":
"Wildcard":
"Customer_first_name":
"Valor": "J?M*",
"Boost": 2



A consulta de exemplo deve retornar os documentos em que o primeiro nome começa com um J, inclui um único caractere, seguido de uma letra M e outros personagens.

Abaixo está um exemplo de resposta:

Parâmetros de consulta curinga

Você pode especificar vários parâmetros para modificar como as funções de consulta curinga. Tais parâmetros incluem:

  1. Campo - O campo para procurar um padrão de correspondência. Este parâmetro não é opcional. No nosso exemplo acima, o campo está definido como Customer_First_Name.
  2. Valor - Isso define o padrão curinga para pesquisar. Um único ponto de interrogação indica um único caractere, enquanto A * significa zero ou mais caracteres, incluindo um personagem vazio. O parâmetro de valor não é opcional.
  3. Impulsionar - O parâmetro Boost aumenta ou diminui o peso da pontuação da consulta de pesquisa. Este é um parâmetro opcional e está definido como 1.0 por padrão. Para aumentar o peso da pontuação, defina um valor superior a 1.0 e um valor menor que 1.0 para diminuir a pontuação.

Conclusão

Neste artigo, explicamos como usar as consultas de pesquisa curinga no Elasticsearch. Considere a documentação ou nossos tópicos no Elasticsearch para saber mais.