É 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:
-