Sintaxe do argumento do Db2 Text Search

Um argumento de pesquisa inclui um ou mais termos e parâmetros de pesquisa opcionais, separados por espaço em branco, que você especifica para pesquisar documentos de texto.

Quando você especifica um termo, o mecanismo de pesquisa retorna documentos que contêm esse termo e, por padrão, variações desse termo. Por exemplo, se você pesquisar usando o termo king, serão retornados documentos contendo king e kings. Se você pesquisar usando vários termos, o mecanismo de pesquisa retornará apenas os documentos que contêm todos os termos.

Se você quiser pesquisar usando uma frase exata, coloque a frase entre aspas. Use uma pesquisa difusa para encontrar documentos que contenham palavras com ortografia semelhante à do termo de pesquisa. Um motivo comum para realizar uma pesquisa difusa é incluir documentos que contenham erros de ortografia no resultado da pesquisa.

Execute uma pesquisa de proximidade para recuperar documentos que contenham palavras de pesquisa localizadas a uma distância especificada uma da outra.

Lembre-se:
  • As pesquisas não diferenciam maiúsculas de minúsculas, portanto, uma pesquisa em espanhol para o termo exato "DOS" pode retornar documentos contendo DOS ou dos.
  • As consultas de pesquisa de texto não devem exceder os limites de consulta SQL Db2.
Quanto mais específico for o termo de pesquisa que você usar, mais precisos serão os resultados. No entanto, você também pode refinar suas pesquisas usando opções como as seguintes:
Operadores Booleanos
Use o operador AND para pesquisar documentos que contenham todos os termos especificados. O operador AND é o operador de conjunção padrão. Se não houver um operador lógico entre os dois termos, será usado AND.
Use o operador AND para pesquisar documentos que contenham todos os terms.The especificados. O operador OR vincula dois ou mais termos e encontra um documento correspondente se qualquer um dos termos existir em um documento.
Modificadores de ocorrência
Use um sinal de adição (+) para especificar que os termos são obrigatórios. O modificador de sinal de adição (+) é diferente do operador AND porque o modificador de sinal de adição (+) indica que o segundo termo deve ser uma correspondência exata. Nenhum sinônimo é usado.
Use um sinal de menos (-) ou o modificador NOT para especificar que os termos são proibidos.
O modificador de impulso
Use o caractere caret (^) para dar maior importância às ocorrências de um determinado termo. O caractere de acento circunflexo (^) dá um impulso ao termo ou frase que o precede quando o número especificado é maior que 1. Se você quiser reduzir a classificação do termo ou frase na lista retornada, especifique um número maior que 0 e menor que 1.

Use o modificador boost com a função SCORE ou com a cláusula ORDER BY.

Caracteres curinga
Use um ponto de interrogação (?) para especificar que um único caractere pode ser adicionado ao seu termo de pesquisa. Use um asterisco (*) para especificar que qualquer número de caracteres pode ser adicionado ao termo de pesquisa. Use esses caracteres curinga para pesquisar termos e dados para variações de ortografia e aumentar o escopo da pesquisa.
Importante: o uso do curinga asterisco (*) no início de um termo de pesquisa afeta negativamente o desempenho da consulta de pesquisa.

Pesquisas curinga com um asterisco (*) aplicam uma expansão de termo para localizar documentos. Se o número de termos correspondentes na coleção de índices de texto exceder o limite de expansão, será retornado apenas um subconjunto de documentos que correspondem aos critérios. Consulte o tópico sobre argumentos de pesquisa de texto para obter mais detalhes. Além disso, as pesquisas curinga encontram caracteres regulares, não caracteres especiais. Por exemplo, a busca por US-*-abc encontra cadeias de caracteres como US-xxx-abc, US-x-abc e US-x#-abc, mas não US-#-abc.

O sinal de porcentagem (%)
Use um sinal de porcentagem (%) para especificar que um termo ou frase é opcional.
O caractere de escape da barra invertida (\)
Use uma barra invertida (\) para incluir caracteres especiais em sua pesquisa. Todos os caracteres a seguir são caracteres especiais em consultas de pesquisa de texto:
  • <
  • >
  • &&
  • ||
  • !
  • (
  • )
  • %
  • =
  • "
  • {
  • }
  • ~
  • *
  • ?
  • [
  • ]
  • :
  • \
  • -
Aspas duplas (")
Use aspas (") ao redor do termo ou frase de pesquisa para que apenas as correspondências exatas sejam retornadas.
Parênteses
Use parênteses para que os termos de pesquisa e a relação entre eles sejam tratados como um único item.

Para consultas de pesquisa XML que são enviadas ao analisador XML, escreva as consultas usando termos opacos em um subconjunto da linguagem XPath. O analisador de consultas reconhece um termo opaco pela sintaxe que você usa na consulta.

Para qualquer processamento específico de idioma durante uma pesquisa, um locale é assumido para o parâmetro search-argument. Esse idioma de consulta é a localidade do índice de pesquisa de texto que é usado quando você executa a função de pesquisa.

A sintaxe do argumento de pesquisa é a seguinte:

Argumento de pesquisa
QualifiedClause ((Operator) ( QualifiedClause ))
Operador
E | OU
QualifiedClause
cláusula (Modificador) ( ^número )
Modificador
+ | - | NÃO
Cláusula
Termo não qualificado | termo opaco
  • Um termo não qualificado é um termo ou uma frase. Um termo pode ser uma palavra, como king ; uma palavra exata, como "king" ; ou uma palavra que inclua um curinga, como king* ou king?. Da mesma forma, uma frase pode ser um grupo de palavras, como cabbages and kings ; uma frase exata, como "The King and I" ; ou uma frase que inclui um curinga, como all the king's h* ou all the kin?'s horses.
  • Um termo de consulta opaco não é analisado pelo analisador de consulta linguística; os termos opacos são identificados por sua sintaxe. O termo opaco que é usado para consultas de pesquisa de texto é @xpath, por exemplo, @xpath:'/TagA/TagB[. contains("king")]'.

Exemplos

Tabela 1. Operadores Booleanos
Operador Exemplo Resultados da consulta
E King AND Lear

King Lear
Retorna documentos que contêm os termos King e Lear. Se você ativar um dicionário de sinônimos, palavras como monarch também poderão ser retornadas.
OU Hamlet OR Othello Retorna documentos que contêm Hamlet ou Othello.
Tabela 2. Modificadores de ocorrência
Modificador Exemplo Resultado da consulta
NÃO
-
Hamlet NOT Othello

Hamlet -Othello
Retorna documentos que contêm Hamlet, mas não Othello.
+ Lear + King Retorna documentos que contêm os termos Lear e King. Os documentos que contêm Lear e monarch não são devolvidos.
Tabela 3. Outros modificadores
Modificador Exemplo Resultado da consulta
term1 ou frase1 ^ número
term2 ou phrase2
Hamlet^2 Othello

Hamlet Othello^.5
Retorna documentos que contêm Hamlet e Othello, mas dá mais importância ao termo Hamlet. Em ambas as consultas de exemplo, cada ocorrência do termo Hamlet recebe o dobro da importância de cada ocorrência de Othello.
* king*

k*ng

*ing
Retorna documentos que contêm combinações possíveis do termo de pesquisa com o caractere curinga. A consulta de exemplo pode retornar resultados como king e kingdom no primeiro exemplo, king e kissing no segundo exemplo, e king e skiing no terceiro exemplo.
* www.*.com A pesquisa com curingas não retorna termos que contenham caracteres especiais. A consulta de exemplo pode retornar www.ibm.com, mas não retorna www.#.com.
? mea?

be?n

?ean
Retorna documentos que contêm combinações possíveis do termo de pesquisa com o caractere curinga. O primeiro exemplo retorna resultados como meal e mean, o segundo exemplo retorna resultados como bean e been, e o terceiro exemplo retorna resultados como mean e bean.
% King James %Edition Retorna documentos que contêm king e james, mas edition é um termo opcional.
" frase "

" termo exato "


" frase com curinga "
"King Lear"

"king"


"John * Kennedy"
"John ? Kennedy"
Retorna documentos que contêm a palavra ou frase exata. O primeiro exemplo retorna King Lear. O segundo exemplo retorna a palavra king e nenhuma outra forma, como kings ou kingly.

Você pode usar aspas com curingas. O terceiro exemplo retorna ocorrências de John Kennedy com ou sem vários nomes do meio ou iniciais. O quarto exemplo retorna John initial Kennedy.

( ) (Hamlet OR Othello) AND plays Retorna documentos que contêm os seguintes termos:
  • O termo Hamlet ou Othello
  • O termo plays
\ \(1\+1\)\:2 Retorna documentos que contêm (1+1):2. Use o caractere de barra invertida (\) para escapar de caracteres especiais que fazem parte da sintaxe da consulta.