Além de compreender e colocar em prática os conceitos básicos de tokens e de propriedades de pesquisa para ter resultados mais precisos nas pesquisas do Vault (consulte Pesquisar um Vault), os administradores podem manipular a "faixa" de resultados de pesquisa do Vault que os usuários recebem ao modificar o "fator slop de pesquisa" Lucene no arquivo web.config.
O "fator slop de pesquisa" determina quantas posições podem ocorrer entre dois termos quaisquer na frase de pesquisa e ainda serem considerados uma correspondência. Essas posições variam de uma correspondência exata para a sequência de caracteres de pesquisa até um número de combinações da sequência de caracteres.
O "slop" é uma distância editada, na qual as unidades de distância são o número de movimentos que os tokens na frase de consulta podem mudar de posição e ainda serem capturados na pesquisa. Por exemplo, alterar a ordem de duas palavras em sua pesquisa exige dois movimentos. O primeiro movimento coloca as palavras uma sobre a outra, e o segundo movimento as reorganiza. Portanto, para permitir reorganizações de sequências de pesquisa com duas palavras ou tokens, o slop deve ser ao menos 2.
Em termos simples, o fator slop decide o quanto os tokens de pesquisa podem estar fora da ordem antes de serem excluídos dos resultados de pesquisa. Por padrão, os resultados mais exatos prevalecem, mas o número total de resultados de pesquisa pode ser diretamente afetado por esse valor.
```
!-- slop factor provided to lucene search -->
<add key="SearchSlopFactor" value="10" />
```
Por padrão, o valor do slop está definido como 10. É possível diminuir esse valor até 0 para obter correspondências exatas ou aumentar essa faixa para o valor que desejar.
Observação: Tenha em mente como essas alterações afetam a experiência do usuário na pesquisa. Se o valor for muito baixo, os usuários podem ficar frustrados ao não encontrar os dados corretos. Se o valor for muito alto, os usuários podem ter muitos resultados para analisar.
Exemplo 1: Pesquisando com múltiplos tokens
O objetivo é procurar pelo arquivo A-055401-321.ipt. Essa pesquisa é representada por seis (6) tokens de pesquisa:
Se eu inserir A-055* como critério de pesquisa e o fator slop estiver definido como 10, receberei qualquer número de outros resultados similares aos seguintes, que atendem às configurações do fator slop:
Se eu inserir A-055* como critério de pesquisa, mas o Fator slop = 6, exatamente os mesmos resultados serão retornados, pois os tokens ainda estão dentro da "distância de edição" definida pelo fator slop.
No entanto, se eu inserir A-055* como critério de pesquisa, mas Fator slop = 4, os resultados serão reduzidos a 5. B-055401-321.ipt não está mais nos resultados porque os tokens em B-055401-321-A.ipt estão muito distantes para atender à restrição de slop ou distância de edição. Iniciando do primeiro traço, teríamos que mover "A" 5 posições para corresponder A-055*.
Se eu inserir A-055* como critério de pesquisa, mas Fator slop = 2, haverá somente 4 resultados.
B-321-055401-A.ipt é omitido, pois "A" precisaria mover-se 3 posições para corresponder à frase de pesquisa A-055*.
Por fim, se eu inserir A-055* como critério de pesquisa, mas Fator slop = 0, somente correspondências exatas de token serão retornadas.
Exemplo 2: Pesquisando com menos tokens
O que acontece se eu repetir a pesquisa com menos tokens? Desta vez, pesquisarei por A055*.
Se eu inserir A055* como critério de pesquisa com Fator slop = 5, receberei 6 resultados, porque eu efetivamente reduzi o número de posições necessário para mover os tokens para obter uma correspondência. O fator slop não precisa ser tão alto para retornar 6 resultados:
Se eu inserir A055* como critério de pesquisa com Fator de slop = 3, receberei 5 resultados. Novamente, a distância de edição é menor do que no exemplo anterior, mas os resultados são os mesmos, com B-055401-321-A.ipt sendo excluído:
Se eu inserir A055* como critério de pesquisa com Fator slop = 1, haverá somente 2 resultados.
No entanto, com o caractere "-" removido, a pesquisa por nomes de arquivo que contêm A055* com Fator de slop = 0 NÃO retorna resultados. Não há correspondências exatas neste caso.