Modificadores de Termos

É possível modificar os termos de consulta para fornecer uma grande variedade de opções de procura.
Os seguintes modificadores de termos são suportados:
Procuras de caracteres curinga
O Lucene suporta procuras de caracteres curinga de caracteres únicos e múltiplos dentro de termos únicos. Use o ponto de interrogação (?) para a procura de caracteres curinga de um único caractere e um asterisco (*) para procura de caracteres curinga de múltiplos caracteres. As procuras de caracteres curinga de múltiplos caracteres procuram zero ou mais caracteres.
Atenção: Os caracteres curinga ? ou * não podem ser usados como o primeiro caractere de uma procura.
Exemplos:
  • Procure as palavras test ou text:
    te?t
  • Procure test, tests ou tester:
    test*
Procuras difusas
Uma procura difusa é um tipo de procura que localiza correspondências, mesmo que os termos de procura sejam escritos errado ou apenas as palavras parciais sejam especificadas. Para fazer uma procura difusa, use o símbolo til (~) no final de um termo.
Por exemplo:
  • Procure um termo semelhante em ortografia à word:
    word~

    Este termo de procura corresponderá a wood, work, dword, wordy, ford, etc, bem como a word.

Procuras de proximidades
O Lucene suporta a localização de palavras que estão em uma distância curta entre si em um campo de registro. Para executar uma procura de proximidade, use o símbolo til (~) seguido por um número no final de uma frase.
Por exemplo:
  • Procure e Beta2 em dez palavras entre si em um campo de registro:
    "Beta1 Beta2"~10
Procuras de intervalos
As procuras de intervalos permitem corresponder registros que contêm valores do campo entre os limites inferiores e superiores especificados pela consulta. As consultas de intervalo podem ser inclusivas ou exclusivas.
As consultas de intervalo inclusivo são denotadas por colchetes e pelo operador TO:
[LowerBound TO UpperBound]
As consultas de intervalo exclusivo são denotadas por chaves e pelo operador TO:
{LowerBound TO UpperBound}

As consultas de intervalo não são reservadas para campos numéricos. Também é possível executar uma consulta de intervalo em campos como valores alfabéticos. A classificação é executada lexicograficamente. Como tal, registros retornados por uma consulta de procura de intervalo não têm uma pontuação de relevância.

Exemplos:
  • Localize registros com valores do campo Data de Envio entre 2007 e 2008, inclusive:
    SubmitDate:[2007 TO 2008]
  • Limite sua procura ao mês de outubro de 2007:
    SubmitDate:[20071001 TO 20071031]
  • Localize registros com valores do campo Data de Envio que vão de 1º de outubro de 2008 ao registro mais novo no banco de dados do usuário, inclusive:
    SubmitDate:[20081001 TO *]
  • Localize registros com valores de Título que estendam entre alpha e delta, incluindo alpha e excluindo delta:
    Headline:[alpha TO delta}

    O conjunto de resultados pode incluir registros com títulos que iniciam com alpha, alpha1, beta, beta1 e beta2.

Impulsionando um termo
O Lucene fornece uma pontuação de relevância para corresponder registros que são calculados pelos analisadores configurados. Para impulsionar o peso de um termo ou frase em uma consulta, use um símbolo circunflexo (^) e um fator de impulso (um número) seguindo o termo ou frase. Quando mais alto for o fator de impulso, mais relevante será o termo ou frase.

O fator de impulso padrão é 1. Embora o fator de impulso padrão deva ser um número positivo, ele pode ser menor que 1, por exemplo, 0,2, para diminuir a relevância dos registros que contêm o termo ou frase.

Exemplos:
  • Suponha que você planeje executar a seguinte procura:
    beta OR alpha
    Para fazer com que os registros com o termo beta pareçam mais relevantes na pontuação do conjunto de resultados do que os registros com o termo alpha, use o símbolo de impulso ^ seguido por um fator de impulso:
    beta^4 OR alpha
  • Faça com que os registros que contêm a frase beta 7.1 pareçam mais relevantes na pontuação do conjunto de resultados do que aqueles que contêm a frase alpha 7.1:
    "beta 7.1"^2 OR "alpha 7.1"

Feedback