Skip to content

Pesquisa de texto completo: predicado CONTAINS

24/09/2011

No artigo anterior https://joseacjr.wordpress.com/2011/09/24/pesquisa-de-texto-completo/ criamos um catálogo e um índice de texto completo.

Nesse exemplo iremos utilizar o predicado CONTAINS em uma cláusula WHERE:

select ProductID, Comments
from Production.ProductReview
where CONTAINS(Comments, ' "friend" OR "recommend" ')
GO

O resultado retorna todos os registros quem contenham qualquer um dos dois critérios de pesquisa para a coluna Comments: ‘friend’ ou ‘recommend’

Podemos usar “AND” quando dois ou mais critérios de pesquisa devem ser atendidos, nesse outro exemplo:

..
-- combinando nome e sobrenome de pessoa
where CONTAINS(NomePessoa, ' "joao" AND "silva" ')
GO

(1 row(s) affected)

No entanto, a busca por determinadas palavras pode não retornar dados:

..
-- combinando nome e sobrenome de pessoa
where CONTAINS(NomePessoa, ' "joao" AND "faria" ')
GO

(0 row(s) affected)

Trocando o sobrenome de ‘silva’ para ‘faria’ e mesmo existindo uma pessoa com esse nome, a condição acima não trouxe nenhum registro.
Isso se deve pelo fato que a palavra faria faz parte à lista de palavras irrelevantes do sistema.

A lista completa das palavras irrelevantes estão na sys.fulltext_system_stopwords

select * 
from sys.fulltext_system_stopwords
GO
Anúncios

From → Transact-SQL

Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: