Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consultas mistas em relação ao índice de texto completo


Eu não acredito que você deva ter qualquer problema, se eu entendi sua pergunta corretamente. Costumo combinar texto completo e b-tree com ótimos resultados. Quando a pesquisa de texto completo é realizada, ela está olhando para cada "termo" delimitado como um índice, assim como faria com uma coluna indexada com apenas um termo (fornecendo algumas estatísticas sql). De qualquer forma, o SQL deve descobrir seu caminho de execução. A pesquisa de texto completo não favorece a comparação de valores inteiros/data - mais para correspondências de strings de dados delimitados.

Eu imagino que você gostaria de continuar usando a eficiência do conceito b-tree a seu favor. A pesquisa de índice de catálogo de texto completo me parece ser uma pesquisa muito mais indireta, embora muito mais vantajosa em situações usando "LIKE" para analisar/comparar strings.

O que eu faço é:
 SELECT * FROM MyTable
  WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
    AND start_date > ###;

(consulte este artigo do msdn para obter informações de sintaxe )

P.S. ao indexar dados inteiros de texto completo, desative a lista de palavras irrelevantes para que esses valores não sejam ignorados na indexação do catálogo.

Espero que tudo isso ajude! (Ninguém respondeu, então pensei em dar minha experiência)