Alterações recentes na pesquisa de texto completo
Este tópico descreve as alterações recentes feitas na pesquisa de texto completo. Essas alterações podem danificar aplicativos, scripts ou funcionalidades baseados em versões anteriores do SQL Server. Talvez você encontre esses problemas ao atualizar. Para obter mais informações, consulte Usar o Supervisor de Atualização para preparar para atualizações.
Alterações mais recentes na pesquisa de texto completo no SQL Server 2012
Agrupamento alterado para o nome Coluna em sys.fulltext_languages
O agrupamento da coluna nome do idioma na exibição do catálogo sys.fulltext_languages (Transact-SQL) foi alterado do agrupamento fixo do banco de dados de Recursos para o agrupamento padrão selecionado para a instância do SQL Server. Esta alteração possibilitará comparar os valores na coluna nome quando você unir a exibição sys.syslanguages (Transact-SQL) com sys.fulltext_languages. Por exemplo, você pode consultar todos os bancos de dados onde o idioma de texto completo padrão é diferente do idioma de banco de dados padrão.
Analisando as alterações feitas na pesquisa de texto completo no SQL Server 2008
As últimas alterações a seguir aplicam-se à Pesquisar de texto completo entre o SQL Server 2005 e o SQL Server 2008 e versões posteriores.
Recurso |
Cenário |
SQL Server 2005 |
SQL Server 2008 e versões posteriores |
||
---|---|---|---|---|---|
CONTAINSTABLE com tipos definidos pelo usuário (UDTs) |
A chave de texto completo é um tipo definido pelo usuário do SQL Server, por exemplo, MyType = char(1). |
A chave retornada é do tipo atribuído ao tipo definido pelo usuário. No exemplo, seria char(1). |
A chave retornada é do tipo definido pelo usuário. No exemplo, seria MyType. |
||
Parâmetro top_n_by_rank (das instruções Transact-SQL CONTAINSTABLE e FREETEXTTABLE) |
Consultas top_n_by_rank que usam 0 como o parâmetro. |
Falha com uma mensagem de erro, indicando que você deve usar um valor maior que zero. |
Tem êxito, não retornando nenhuma linha. |
||
CONTAINSTABLE e ItemCount |
Excluir linhas da tabela base antes do envio por push de alterações para MSSearch. |
CONTAINSTABLE retorna registro fantasma. ItemCount não é alterado. |
CONTAINSTABLE não retorna nenhum registro fantasma. |
||
ItemCount |
A tabela contém colunas de tipo ou documentos nulos. |
Além de documentos indexados, os documentos que são nulos ou que têm tipos nulos são contados no valor ItemCount. |
Somente documentos indexados são contados no valor ItemCount. |
||
Catálogo ItemCount |
Coluna blob com uma extensão NULL. |
É contada em ItemCount do catálogo |
Não é contada em ItemCount do catálogo. |
||
UniqueKeyCount |
Consultar uma contagem de chave exclusiva a partir de um catálogo, por exemplo, duas tabelas (table1 e table2) em que cada uma tem três palavras: word1, word2 e word3. |
UniqueKeyCount = 9. A tabela a seguir resume como esse valor é obtido: table1 = 3 EOF para índice de texto completo de table1 = 1 table2 = 3 EOF para índice de texto completo de table2 = 1 catálogo de texto completo = 1 |
Para cada tabela, UniqueKeyCount é o número de palavras-chave distintas + 1 (0xFF). Isso NÃO trata as mesmas palavras em > 1 doc como uma nova chave exclusiva. Para um catálogo, UniqueKeyCount é a soma de UniqueKeyCount de cada uma das tabelas no catálogo. Palavras idênticas de tabelas diferentes são tratadas como chaves exclusivas. Nesse caso, a contagem de chaves exclusivas é 8. |
||
Opção no nível de servidor classificação pré-computada |
Otimização do desempenho de consultas FREETEXTTABLE. |
Quando a opção é definida como 1, as consultas FREETEXTTABLE especificadas com top_n_by_rank usam dados de classificação pré-computada armazenados nos catálogos de texto completo. |
Não tem suporte. |
||
sp_fulltext_pendingchanges ao atualizar coluna de chave |
Atualizar a coluna de chave de texto completo em uma linha de uma tabela de 2 linhas e executar sp_fulltext_pendingchanges. |
As duas linhas aparecem. |
Somente uma linha aparece. |
||
Funções embutidas |
Funções embutidas com um operador de texto completo |
Retorna uma mensagem de erro. |
Retorna as linhas relevantes. |
||
Habilitar ou desabilitar pesquisa de texto completo usando sp_fulltext_database. |
Nenhum resultado é retornado para consultas de texto completo. Se o texto completo estiver desabilitado para o banco de dados, não serão permitidas operações de texto completo. |
Retorna resultados para consultas de texto completo e operações de texto completo permitidas, mesmo se o texto completo estiver desabilitado para o banco de dados. |
|||
Palavras irrelevantes (stop words) específicas da localidade |
Consultas emvariantes específicas da localidade de um idioma pai, como francês belga e francês canadense. |
As consultas emvariantes específicas da localidade são processadas pelos componentes (separadores de palavras, lematizadores e palavras irrelevantes) de seu idioma pai. Por exemplo, os componentes de francês (França) são usados para analisar francês (Bélgica). |
Você deve adicionar palavras irrelevantes explicitamente para cada identificador de localidade (LCID). Por exemplo, você precisaria especificar um LCID para Bélgica, Canadá e França. |
||
Processo de lematização do dicionário de sinônimos |
Usando o dicionário de sinônimos e formas flexivas (lematização). |
Uma palavra do dicionário de sinônimos é lematizada automaticamente depois de sua expansão. |
Se você deseja a forma lematizada na expansão, precisará adicionar explicitamente a forma lematizada. |
||
Caminho de catálogo de texto completo e grupo de arquivos |
Trabalhando com catálogos de texto completo. |
Cada catálogo de texto completo tem um caminho físico e pertence a um grupo de arquivos. Ele é tratado como um arquivo de banco de dados. |
Um catálogo de texto completo é um objeto virtual e não pertence a nenhum grupo de arquivos. Um catálogo de texto completo é um conceito lógico que faz referência a um grupo de índices de texto completo.
|
||
Usando path, data_space_id e file_id desta exibição de catálogo. |
Essas colunas retornam um valor específico. |
Essas colunas retornam NULL porque o catálogo de texto completo não está mais localizado no sistema de arquivos. |
|||
Usando a coluna path desta tabela de sistema preterida. |
Retorna o caminho do sistema de arquivos do catálogo de texto completo. |
Retorna NULL porque o catálogo de texto completo não mais está localizado no sistema de arquivos. |
|||
Usando a coluna PATH desses procedimentos armazenados preteridos. |
Retorna o caminho do sistema de arquivos do catálogo de texto completo. |
Retorna NULL porque o catálogo de texto completo não está mais localizado no sistema de arquivos. |
|||
Usando sp_help_fulltext_catalog_components deste procedimento armazenado. |
Retorna uma lista de todos os componentes (filtros, separadores de palavras e manipuladores de protocolo) usados em todos os catálogos de texto completo do banco de dados atual. |
Retorna linhas vazias. |
|||
Usando a propriedade IsFullTextEnabled. |
A configuração de IsFullTextEnabled indica se a pesquisa de texto completo está habilitada ou não em um determinado banco de dados. |
O valor dessa coluna não tem nenhum efeito. Os bancos de dados de usuário sempre estão habilitados para pesquisa de texto completo. |