8. Usando Coringas para Recuperar Informação do GBDS

Quando recupera-se informação do GBDS usando List Transactions e List People, é possível usar operadores coringas para filtrar os resultados.

Quando realiza-se uma chamada de List Transactions usando o parâmetro qualityStatus, os campos key, biographic, e label podem ser filtrados usando operadores conringas.

Os operadores coringas são descritos abaixo:

8.1. List Transactions

8.1.1. Sufixos

  • Os campos key ou biographic podem conter um id:value ou id|value, como por exemplo Name:John Doe, onde quatro sufixos podem ser inseridos.

    • [anywhere]: Esse é o sufixo padrão, se nenhum for escrito, esse será selecionado. Nesse caso, a aplicação procurará pelo id ou valor fornecido em qualquer parte da string.

      Exemplo: Se a chave é name[anywhere]:rob, será procurado por nomes (name) como “Robbin” sobrenomes (surname) “Robarts”.

    • [atstart]: Se esse sufixo for usado, a aplicação procurará pelo id ou valor fornecido no início da string.

      Exemplo: Se a chave for passportNumber:123[atstart], será procurado por números de passaporte que começam com 123 e retornará todos casos válidos.

    • [atend]: Se esse sufixo for usado, a aplicação procurará pelo id ou valor fornecido no final da string.

      Exemplo: Se a chave for passportNumber:123[atend], será procurado por números de passaporte que acabam com 123. name[atend]:son procurará por nomes (name) e sobrenomes (surname) que acabam com “son”.

    • [exact]: Se esse sufixo é usado, a aplicação procurará por casamentos identicos ao fornecido na string de procura.

      Exemplo: Se a chave for passportNumber:123[exact], será procurado por números de passaporte que são exatamente iguais a 123.

Warning

Esses operadores coringa são SUFIXOS, então eles devem ser inseridos DEPOIS do ID e/ou DEPOIS do VALOR.

Note

Adicionalmente, id e valor podem ter diferentes sufixos para cada, então é possível haver operações como: name[exact]:rob[atstart], onde será procurado por campos que são nomeados exatamente “name” por valores que começam com “rob”.

8.1.2. Prefixos

  • O campo de biograficos pode também ter um prefixo. Esse prefixo pode ser usado somente no PRIMEIRO biográfico, antes do id. Outros prefixos serão ignorados. Esse prefixo irá definir qual operação lógica a aplicação executará entre TODOS os campos de biográficos e de chaves. Os valores aceitos são [and] e [or], o primeiro sendo o valor padrão.

    Exemplo: Se o biográfico é [or]id:value, uma operação OR será executada em todas as chaves e biográficos, como: (Key1 OR Biographic1 OR Biographic2).

Esse prefixo pode ser combinado com um sufixo, então valores como [or]id:value[exact] são aceitos.

8.2. List People

Quando realiza-se uma chamada de List People, o parâmetro operator pode ser tanto and ou or. O operador selecionado será aplicado nas comparações entre key, biographic e label. Após, uma comparação and será feita com o valor de data desejado para filtragem dos dados.

Exemplo: Se o operador selecionado for “or”, a comparação para filtragem dos dados será: ((Key1 OR Biographic1 OR Biographic2 OR Label1) AND Date).

8.2.1. Restrictions matchMode

Dentro do objeto de restrições (restrictions), é possível selecionar um de cinco matchMode quando a restrição for um Biográfico ou uma Chave. Os possíveis valores e suas operações estão listados abaixo.

Danger

Tudo o que não é uma letra, um número ou um sublinhado é um separador. Um separador entre números ou letras causará a tokenização da palavra/número completo em todos os modos, exceto EXACT e NOT_EQUALS.

Important

No valor do filtro de restrição, apenas o espaço em branco `` `` é um delimitador e tokenizará as palavras/números. Esse comportamento não ocorre em EXACT e NOT_EQUALS.

Warning

O parâmetro de pesquisa é sensível a caracteres especiais em letras, como â, é, ñ e outros.

  • EXACT - A operação exact pesquisa todo o valor fornecido. O uso de exact não tokenizará a expressão restrita. Este modo diferencia maiúsculas de minúsculas.

    • Exemplo: A chamada deve retornar o valor “Jose Arruda”. Usar EXACT com “Jose” ou “Arruda” funcionará para retornar o valor desejado.

      Note

      Pesquisas como “Jo” ou “rrud” não retornarão Jose Arruda.

    • Examplo 2: A chamada deve retornar um valor numérico de um documento, como “123456”. Usando EXACT o valor DEVE ser “123456”.

      Note

      Pesquisas com o valor “123” ou “456” não retornarão o valor correto.

      Important

      Se o valor for armazenado com um separador, o separador deverá estar no valor de restrição.

  • START - A operação de start filtrará os valores tokenizando cada palavra ou conjunto de números dividido por um separador.

    • Exemplo: Se o usuário está restringindo START para o valor “Jo”, alguns retornos possíveis podem ser:

      Jose Arruda
      John Doe
      Marie Johnson
      
    • Exemplo 2: Caso o usuário esteja restringindo START para o valor “Jose Arruda”, alguns retornos possíveis podem ser:

      Jose Arruda
      Jose Silva
      Pedro Thomas Arruda
      
    • Exemplo 3: Se o usuário estiver restringindo START para o valor “123”, alguns retornos possíveis podem ser:

      1234567
      123.456
      456-123
      a-b 123
      
    • Exemplo 4: Se o usuário está restringindo START para o valor “123.456”, alguns retornos possíveis podem ser:

      123.456
      123.456.789-90
      
  • ANYWHERE - A operação em anywhere buscará o valor em qualquer parte da palavra ou número.

    • Exemplo: Se a restrição do usuário for ANYWHERE para o valor “Jo”, alguns retornos possíveis podem ser:

      Jose Arruda
      Major
      Pejorative
      Banjo
      
    • Exemplo 2: Pesquisar por “12” pode retornar:

      123456
      641256
      114-4312
      a-b 123
      
    • Exemplo 3: Se a restrição do usuário for ANYWHERE para o valor “Jo Ru”, alguns retornos possíveis podem ser:

      Jose Arruda
      Ruth Silva
      Havier Russel
      
  • END - A operação end buscará o valor no FIM do token. Como START, esta operação tokenizará as palavras/números para cada separador.

    • Exemplo: Se a restrição do usuário END para o valor “son”, alguns retornos possíveis podem ser:

      Eric Johnson
      Hudson Santos
      
    • Exemplo 2: Se o usuário estiver restringindo END para o valor “Jose Arruda”, alguns retornos possíveis podem ser:

      Jose Arruda
      Jose Silva
      Pedro Thomas Arruda
      Arruda Bastos
      
    • Exemplo 3: Se o usuário estiver restringindo END para o valor “123”, alguns retornos possíveis podem ser:

      4567123
      123.456
      456-123
      a-b 123
      
    • Exemplo 4: Se o usuário estiver restringindo END para o valor “123.456”, alguns retornos possíveis podem ser:

      123.456
      789.123.456
      
  • NOT_EQUALS - A operação Not equals funciona de modo inverso à operação EXACT. Ele filtrará e DESCARTARÁ correspondências exatas para o valor fornecido e mostrará TODOS OS OUTROS valores. Este modo diferencia maiúsculas de minúsculas.

    • Exemplo: Usando NOT_EQUALS com o valor “Jose” pode retornar:

      John Doe
      Marie Johnson
      Josemar Rodrigues
      
    • Exemplo 2: Usar NOT_EQUALS com o valor “123” pode retornar:

      4567123
      123456