Compartilhar via


Mudanças disruptivas na pesquisa Full-Text

Este tópico descreve alterações significativas na pesquisa de texto completo. Essas alterações podem danificar aplicativos, scripts ou funcionalidades baseados em versões anteriores do SQL Server. Talvez você tenha esses problemas ao atualizar. Para obter mais informações, consulte Usar o Supervisor de Atualização para se preparar para atualizações.

Alterações significativas na pesquisa de Full-Text no SQL Server 2014

Informações que virão mais tarde.

Alterações significativas na pesquisa de Full-Text no SQL Server 2012

A ordenação foi alterada para a coluna "name" no sys.fulltext_languages

A ordenação da coluna nome do idioma na exibição de catálogo sys.fulltext_languages (Transact-SQL) foi alterada da ordenação fixa do banco de dados de recursos para a ordenação padrão selecionada para a instância do SQL Server. Essa alteração possibilita comparar os valores na coluna de nome quando você ingressa na exibição sys.syslanguages (Transact-SQL) com sys.fulltext_languages. Por exemplo, você pode consultar todos os bancos de dados em que a linguagem de texto completo padrão é diferente da linguagem de banco de dados padrão.

Alterações significativas na pesquisa de Full-Text no SQL Server 2008

As alterações significativas a seguir se aplicam à pesquisa Full-Text entre o SQL Server 2005 e o SQL Server 2008, assim como as versões posteriores.

Característica Cenário SQL Server 2005 SQL Server 2008 e versões posteriores
CONTAINSTABLE com UDTs (tipos definidos pelo usuário) 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, isso seria char(1).
A chave retornada é do tipo definido pelo usuário. No exemplo, isso seria MyType.
parâmetro top_n_by_rank (dos comandos CONTAINSTABLE e FREETEXTTABLETransact-SQL) top_n_by_rank consultas usando 0 como parâmetro. Falha com uma mensagem de erro informando que você deve usar um valor maior que zero. Com êxito, retorna zero linhas.
CONTAINSTABLE e ItemCount Exclua linhas da tabela base antes de aplicar alterações ao MSSearch. CONTAINSTABLE retorna o registro fantasma. ItemCount não foi alterado. CONTAINSTABLE não retorna nenhum registro fantasma.
ItemCount A tabela contém documentos nulos ou colunas do tipo nulo. Além dos 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 Contagem de Itens Coluna de blob com extensão nula. Ele é contado no ItemCount do catálogo Ele não é contado no ItemCount do catálogo.
UniqueKeyCount Consultando a contagem de chaves únicas de um catálogo, por exemplo, duas tabelas (tabela1 e tabela2), onde cada uma contém três palavras: palavra1, palavra2 e palavra3. UniqueKeyCount = 9. A tabela a seguir resume como esse valor é atingido:

table1 = 3

EOF para índice de texto completo da tabela1 = 1

table2 = 3

EOF para índice de texto completo da tabela2 = 1

catálogo de texto completo = 1
Para cada tabela, UniqueKeyCount é o número de palavras-chave distintas + 1 (0xFF). Isso NÃO considera as mesmas palavras em > 1 documento como uma nova chave única.

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, o número de chaves únicas é 8.
opção pré-calcular classificação no nível do servidor Otimização de 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é-compilados armazenados nos catálogos de texto completo. Não há suporte.
sp_fulltext_pendingchanges ao atualizar a coluna de chave Atualize a coluna de chave de texto completo em uma linha de uma tabela de 2 linhas e execute sp_fulltext_pendingchanges. Ambas as linhas são exibidas. Apenas uma linha é exibida.
Funções embutidas Funções embutidas com um operador de texto completo Retornar uma mensagem de erro. Retorne as linhas relevantes.
sp_fulltext_database Habilite ou desabilite a 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, as operações de texto completo não serão permitidas. Retorna resultados para consultas de texto completo e operações de texto completo permitidas, mesmo que o texto completo esteja desabilitado para o banco de dados.
Palavras de parada específicas da localidade Consultas em variantes específicas de localidade de uma língua matriz, como o francês belga e o francês canadense. As variantes específicas da localidade de consultas são processadas pelos componentes (separadores de palavras, lematizadores e palavras de parada) de seu idioma original. Por exemplo, os componentes franceses (França) são usados para analisar francês (Bélgica). Você deve adicionar palavras de parada explicitamente para cada identificador de localidade (LCID). Por exemplo, você precisaria especificar um LCID para Bélgica, Canadá e França.
Processo de derivação em dicionário de sinônimos Usando dicionário de sinônimos e formas inflexcionais (lematização). Uma palavra de sinônimo é automaticamente reduzida à sua forma básica após a expansão. Se você quiser a forma radical na expansão, precisará adicionar explicitamente a forma radical.
Caminho do 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 se refere a um grupo de índices de texto completo.

Observação: as instruções DDL do SQL Server 2005Transact-SQL que especificam catálogos de texto completo funcionam corretamente.
sys.fulltext_catalogs Usando o caminho, 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.
sys.sysfulltextcatalogs Usando a coluna 'path' desta tabela de sistema obsoleta. 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.
sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor
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.
sp_help_fulltext_catalog_components 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 para todos os catálogos de texto completo no banco de dados atual. Retorna linhas vazias.
DATABASEPROPERTYEX Usando a propriedade IsFullTextEnabled . A configuração IsFullTextEnabled indica se a pesquisa de texto completo está habilitada em um determinado banco de dados. O valor dessa coluna não tem efeito. Os bancos de dados de usuário são sempre habilitados para pesquisa de texto completo.

Consulte Também

Alterações de comportamento na pesquisa de Full-Text
Pesquisa de texto completo