Full-Text Search – FREETEXT e FREETEXTTABLE

Quem achou muito complicado este tal Full-Text Search com as funções CONTAINS e CONTAINSTABLE, pode ficar tranquilo, pois existe uma alternativa que simplifica toda a complexidade das pesquisas.

Esta alternativa é o uso da função FREETEXT, que possibilita pesquisas com todas as variações obtidas por clausulas (OR, AND), prefixação/sufixação e tesauros (sinônimos) de forma simplificada, deixando o Full-Text Search encarregado de recuperar todos os registros de uma determinada tabela que possuem alguma relação com alguma das palavras informadas.

Conforme o exemplo a seguir, para a pesquisa de todas as variações da palavra “Azul” com a função CONTAINS eram necessários os predicados INFLECTIONAL e THESAUROS, no caso da função FREETEXT, somente a palavra a ser pesquisada:

No caso de mais de uma palavra, a situação complicava mais ainda com a função CONTAINS, mas com FREETEXT, a solução ainda se mantém simples:

A função FREETEXT permite até a utilização de frases e textos como critérios para pesquisa:

E para aqueles que gostaram da função CONTAINSTABLE e querem ter a mesma facilidade da função FREETEXT, existe a função tabular FREETEXTTABLE:

Apesar de ser mais fácil utilizar a função FREETEXT, sempre verifique se a função CONTAINS é apta como solução ao seu cenário ao invés da FREETEXT, visto que a facilidade da função FREETEXT algumas vezes pode sair muito cara no quesito desempenho em comparação à função CONTAINS.

Espero que vocês tenham gostado deste quinto artigo sobre o Full-Text Search no SQL Server. Qualquer dúvida, crítica ou sugestão, sintam-se à vontade de comentar ou de me contatar por e-mail e Twitter.

Embora eu tenha material suficiente para mais artigos aprofundando sobre Full-Text Search, dedicarei os próximos artigos na abordagem de outras features e ferramentas úteis para o dia-a-dia do profissional de banco de dados.

Anúncios

2 pensamentos sobre “Full-Text Search – FREETEXT e FREETEXTTABLE

  1. Pingback: Full-Text Search – Resumo « SQL From Hell.com

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