Para facilitar a sua experiência na Plataforma, criamos uma padronização na busca da tela de logs.
Veja a seguir como utilizar o campo payload e como realizar
- buscas simples;
- buscas fuzzy;
- buscas avançadas.
CAMPO PAYLOAD
Nesse campo, você pode utilizar o recurso de simple query do “elasticsearch”, que permite a realização de buscas por meio da sintaxe desse tipo de filtro. Observe os exemplos abaixo:
+
operação AND
|
operação OR
-
nega um único token
"
envolve uma série de tokens para significar uma frase para pesquisa
*
no final de um termo, significa uma consulta de prefixo
()
precedência
~ N
após uma palavra, significa editar distância (imprecisão)
~ N
depois de uma frase, significa quantidade de distância dessas palavras na frase
BUSCAS SIMPLES
O operador padrão do campo payload é o operador "E". Portanto, efetuando uma busca simples, com as palavras procuradas separadas por espaço, a query fica assim:
Payload
teste xpto url
O filtro será interpretado da seguinte maneira:
teste E xpto E url
Se você quiser buscar a palavra exata, basta colocá-la entre aspas ("").
Payload
"13567559-01"
Nesse caso, o filtro faz a busca pela palavra específica.
Caso você queira buscar um resultado a partir de uma palavra parcial, basta adicionar o asterisco (*):
Payload
pedido*
No exemplo acima, a busca trará como resultado qualquer palavra que comece com o prefixo pedido.
IMPORTANTE: não é possível procurar palavras parciais partindo do meio da palavra devido a indexação dos campos.
BUSCAS FUZZY
Uma distância de edição é o número necessário de alterações de um caractere para que um termo seja transformado em outro. Essas mudanças podem incluir:
- alteração de um caractere (box → fox) ~1
- remoção de um caractere (black → lack) ~1
- inserção de um caractere (sic → sick) ~1
- transposição de dois caracteres adjacentes (act → cat) ~1
Para encontrar termos similares, a busca fuzzy cria uma série de possíveis variações ou expansões do termo buscado dentro de uma distância de edição especificada. Então, a query retorna combinações exatas para cada expansão.
Vamos supor que você tenha estes 3 registros:
Registro 1: Andrew Joe Clinton
Registro 2: Andrew Joe X. Clinton
Registro 3: Andrew Joe X. JJ Clinton
E que você realize a busca assim:
Payload
"Andrew Clinton"~1
O único registro retornado será o Registro 1, porque entre “Joe” e “Clinton” você pediu por até UMA (~1) modificação.
Se você alterar a sua busca para
Payload
"Andrew Clinton"~2
os registros retornados serão o Registro 1 e o Registro 2, porque entre “Joe” e “Clinton” você pediu por até DUAS (~2) modificações.
A busca fuzzy também pode ser usada conforme a descrição:
Payload
"cat"~1
Portanto, serão encontradas palavras próximas com apenas UMA modificação (~1).
Exemplo
CAT, CAB, TAC, ACT, ….
BUSCAS AVANÇADAS
Você pode combinar diversos operadores na busca.
Payload
xpto +(test | prod) -data
A query será interpretada da seguinte forma:
xpto E (test OU prod) E NÃO CONTENHA data
Conforme mencionado, o operador padrão desse campo de busca é o operador "E":
Payload
(url xpto) (test | flow)
Portanto, a busca será interpretada assim:
(url E xpto) E (test OU flow)