Full-Text Search – CONTAINSTABLE

Nas situações que a função CONTAINS retorna muitos registros, como filtrar estes registros por importância? Para responder esta pergunta, temos a função tabular CONTAINSTABLE, que permite recuperar informações sobre importância do critério de seleção sob os registros recuperados.

A função CONTAINSTABLE utiliza da seguinte sintaxe:

CONTAINSTABLE(Tabela, Colunas, ‘TextoPesquisado’)

E o seu resultado não diferencia da função CONTAINS:

Mas como estamos com uma função tabular em mãos, mais informações podem ser obtidas, no caso as colunas KEY e RANK.

A coluna KEY é o valor do índice único que mapeamos na criação do catálogo, no caso a chave primária da tabela:

E temos a coluna RANK, que informa a importância do termo da pesquisa no resultado, onde, quanto maior a importância, maior o valor retornado.

Para melhorar a percepção da coluna RANK, o prefixo ISABOUT/WEIGHT permitirá estabelecer “pesos” de 0 a 1 para cada palavra encontrada, conforme o exemplo, onde “Texto” é mais importante que a palavra “Modelo” no critério de seleção:

Mas, se quero só recuperar alguns registros deste critério de seleção vou ter que utilizar um TOP/ORDER BY?

Ao invés do TOP/ORDER utilize a própria função CONTAINSTABLE:

Concluído mais um artigo sobre Full-Text Search, espero que tenham gostado!

Anúncios

Um pensamento sobre “Full-Text Search – CONTAINSTABLE

  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