Skip to content

Pesquisa de texto completo

24/09/2011

O SQL Server 2008 oferece a funcionalidade de consultas de texto completo relacionadas a dados baseados em caractere em tabelas, para isso devemos criar um índice de texto completo na tabela.

O índice de texto completo inclui uma ou mais colunas baseadas em caractere da tabela.
Essas colunas podem ter qualquer um dos seguintes tipos de dados: char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary ou varbinary(max).

No entanto, para usar um índice de texto completo em uma tabela, você deve configurar o recurso de indexação de texto completo nas colunas das tabelas que deseja acessar.

Etapas básicas:
1. Criar um catálogo de texto completo para armazenar índices de texto completo.

2. Crie um índice de texto completo na tabela ou exibição indexada.

 -- um catálogo de texto completo é um conceito lógico que faz referência a um grupo de índices de texto completo
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO

-- a tabela deve ter índice exclusivo, de uma só coluna e não anulável:
CREATE UNIQUE INDEX ui_ukProdRev ON Production.ProductReview( ProductReviewId);
GO

-- depois que você tiver uma chave exclusiva, poderá criar um índice de texto completo:
CREATE FULLTEXT INDEX ON Production.ProductReview(
 ReviewerName -- coluna e idioma padrão usado na hora da consulta
   Language 1033, -- obs: 1046 é pt-br
  EmailAddress
   Language 1033,
  Comments
   Language 1033
)
KEY INDEX ui_ukProdRev ON ftCatalog -- Unique index criado 
WITH CHANGE_TRACKING AUTO           -- população automática
GO

-- uso do contains: obter correspondências precisas ou difusas
select ProductID, Comments
from Production.ProductReview
where CONTAINS(Comments, ' "suggestions" OR "learning" ')

Além do predicado “CONTAINS” temos o “FREETEXT”, que são similares e serão comparados num próximo artigo.

Anúncios

From → Transact-SQL

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: