Estou recebendo o seguinte erro em meu banco de dados SQL server 2008 R2:
Não é possível usar um predicado
CONTAINS
ouFREETEXT
na tabela ou exibição indexada 'tblArmy' porque não é indexado em texto completo.
sql
sql-server
tsql
sql-server-2008
full-text-search
DotnetSparrow
fonte
fonte
Respostas:
Certifique-se de ter o recurso de pesquisa de texto completo instalado.
Crie um catálogo de pesquisa de texto completo.
Crie um índice de pesquisa de texto completo.
Antes de criar o índice, certifique-se:
- você ainda não tem um índice de pesquisa de texto completo na tabela, pois apenas um índice de pesquisa de texto completo é permitido em uma tabela
- existe um índice exclusivo na tabela. O índice deve ser baseado em coluna de chave única, que não permite NULL.
- existe um catálogo de texto completo. Você deve especificar o nome do catálogo de texto completo explicitamente se não houver um catálogo de texto completo padrão.
Você pode executar as etapas 2 e 3 no SQL Server Management Studio. No explorador de objetos, clique com o botão direito do mouse em uma tabela, selecione o
Full-Text index
item de menu e o item deDefine Full-Text Index...
submenu. O assistente de indexação de texto completo irá guiá-lo através do processo. Ele também criará um catálogo de pesquisa de texto completo para você, caso ainda não tenha.Você pode encontrar mais informações no MSDN
fonte
Uma solução alternativa para
CONTAINS
: se você não deseja criar um índice de texto completo na coluna e o desempenho não é uma de suas prioridades, você pode usar aLIKE
instrução que não precisa de nenhuma configuração anterior:Exemplo: encontre todos os Produtos que contenham a letra Q:
fonte
Você deve definir
Full-Text-Index
em todas as tabelas do banco de dados onde deseja usar uma consultaCONTAINS
que levará algum tempo.Em vez disso, você pode usar o
LIKE
que fornecerá resultados instantâneos sem a necessidade de ajustar as configurações das tabelas.Exemplo:
O mesmo resultado obtido com
CONTAINS
pode ser obtido comLIKE
.veja o resultado:
fonte
Pode ser necessário habilitar a tabela para indexação de texto completo .
fonte
você tem que adicionar índice de texto completo em campos específicos que deseja pesquisar.
onde "notícias" é sua tabela e os campos "título, história" que você não habilitará para a pesquisa de texto completo
fonte
Existe mais uma solução para definir a coluna Full text como true.
Essa solução, por exemplo, não funcionou para mim
Minha solução.
PRÓXIMOS PASSOS
Atualizar
Versão do mssql 2014
fonte
atuará como% igual a
fonte