Значительные изменения в поиске Full-Text

В этом разделе описываются критические изменения в полнотекстовом поиске. Эти изменения могут нарушить работу приложений, скриптов или функций, основанных на более ранних версиях SQL Server. При обновлении могут возникнуть эти проблемы. Дополнительные сведения см. в разделе "Помощник по обновлению" для подготовки к обновлению.

Критические изменения в поиске Full-Text в SQL Server 2014

Информация будет предоставлена позже.

Критические изменения в поиске Full-Text в SQL Server 2012

Изменение сортировки для столбца имени в sys.fulltext_languages

Параметры сортировки столбца имени языка в представлении каталога sys.fulltext_languages (Transact-SQL) были изменены с фиксированной сортировки базы данных Resource на сортировку по умолчанию, выбранную для экземпляра SQL Server. Это изменение позволяет сравнить значения в столбце имен при присоединении представления sys.syslanguages (Transact-SQL) с sys.fulltext_languages. Например, можно запросить все базы данных, где язык полнотекстового языка по умолчанию отличается от языка базы данных по умолчанию.

Критические изменения в поиске Full-Text в SQL Server 2008

Следующие значительные изменения относятся к поиску Full-Text, проводимому между SQL Server 2005 и SQL Server 2008 и его более поздними версиями.

Функция Сценарий SQL Server 2005 SQL Server 2008 и более поздних версий
CONTAINSTABLE с определяемыми пользователем типами (UDTs) Полнотекстовый ключ — это определяемый пользователем тип SQL Server, например MyType = char(1). Возвращаемый ключ имеет тип, который соответствует определяемому пользователем типу.

В примере это будет char(1).
Возвращаемый ключ имеет определяемый пользователем тип. В примере это будет MyType.
Параметр top_n_by_rank (в инструкциях CONTAINSTABLE и FREETEXTTABLETransact-SQL) top_n_by_rank запросы, использующие 0 в качестве параметра. Завершается ошибкой с сообщением об ошибке, указывающим, что вы должны использовать значение больше нуля. Выполняется успешно, возвращая нулевые строки.
CONTAINSTABLE и ItemCount Удалите строки из базовой таблицы перед отправкой изменений в MSSearch. CONTAINSTABLE возвращает фантомную запись. ItemCount не изменяется. CONTAINSTABLE не возвращает никаких фантомных записей.
ItemCount Таблица содержит пустые документы или столбцы типа. Помимо индексированных документов документы, имеющие значение NULL или имеющие типы NULL, учитываются в значении ItemCount . В значении ItemCount учитываются только индексированные документы.
Каталог Количество элементов Столбец BLOB-объектов с расширением NULL. Он учитывается в ItemCount каталога Он не учитывается в ItemCount каталога.
КоличествоУникальныхКлючей Запрос уникального количества ключей в каталоге, например, из двух таблиц (таблица1 и таблица2), каждая из которых содержит три слова: слово1, слово2 и слово3. UniqueKeyCount = 9. В следующей таблице приведены сведения о достижении этого значения:

table1 = 3

EOF для полнотекстового индекса таблицы1 = 1

table2 = 3

EOF для полнотекстового индекса таблицы 2 = 1

полнотекстовый каталог = 1
Для каждой таблицы UniqueKeyCount — это количество отдельных ключевых слов + 1 (0xFF). Это НЕ рассматривает одни и те же слова в > 1 документе как новый уникальный ключ.

Для каталога UniqueKeyCount — это сумма UniqueKeyCount каждой из таблиц в каталоге. Идентичные слова из разных таблиц рассматриваются как уникальные ключи. В этом случае число уникальных ключей равно 8.
Параметр уровня сервера предкомпьютерного ранжирования Оптимизация производительности запросов FREETEXTTABLE. Если для параметра задано значение 1, запросы FREETEXTTABLE, указанные с top_n_by_rank используют предварительно вычисляемые данные ранжирования, хранящиеся в полнотекстовых каталогах. Не поддерживается.
sp_fulltext_pendingchanges при обновлении ключевого столбца Обновите столбец полнотекстового ключа в одной строке таблицы с 2 строками и запустите sp_fulltext_pendingchanges. Отображаются обе строки. Отображается только одна строка.
Встроенные функции Встроенные функции с полнотекстовым оператором Возвращает сообщение об ошибке. Верните соответствующие строки.
sp_fulltext_database Включите или отключите полнотекстовый поиск с помощью sp_fulltext_database. Результаты не возвращаются для полнотекстовых запросов. Если для базы данных отключен полный текст, операции полнотекстового текста не допускаются. Возвращает результаты для полнотекстовых запросов и разрешенных полнотекстовых операций, даже если полнотекстовые операции отключены для базы данных.
Стоп-слова для конкретного языка Запросы в локальных вариантах основного языка, таких как бельгийский французский и канадский французский. Запросы, специфичные для локали, обрабатываются компонентами родительского языка (средствами разбиения слов, стеммерами и стоп-словами). Например, компоненты французского (Франция) используются для анализа французского (Бельгия). Необходимо явно добавить стоп-слова для каждого идентификатора языкового стандарта (LCID). Например, необходимо указать LCID для Бельгии, Канады и Франции.
Процесс стемминга тезауруса Использование тезауруса и инфлекционных форм (основ). Слово тезауруса автоматически стебляется после его расширения. Если вы хотите, чтобы стеммированная форма была включена в расширение, вам нужно явно добавить её.
Путь к полнотекстовому каталогу и файловой группе Работа с полнотекстовых каталогами. Каждый полнотекстовый каталог имеет физический путь и принадлежит файловой группе. Он рассматривается как файл базы данных. Полнотекстовый каталог является виртуальным объектом и не входит в файловую группу. Полнотекстовый каталог — это логическая концепция, которая ссылается на группу полнотекстовых индексов.

Примечание. Инструкции DDL SQL Server 2005Transact-SQL, указывающие полнотекстовые каталоги, работают правильно.
sys.fulltext_catalogs Используйте путь, data_space_id и file_id этого представления каталога. Эти столбцы возвращают определенное значение. Эти столбцы возвращают значение NULL, так как полнотекстовый каталог больше не находится в файловой системе.
sys.sysfulltextcatalogs Использование колонки пути этой устаревшей системной таблицы. Возвращает путь в файловой системе полнотекстового каталога. Возвращает значение NULL, так как полнотекстовый каталог больше не находится в файловой системе.
sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor
Использование столбца PATH в этих устаревших хранимых процедурах. Возвращает путь файловой системы полнотекстового каталога. Возвращает значение NULL, так как полнотекстовый каталог больше не находится в файловой системе.
sp_help_fulltext_catalog_components Использование компонентов sp_help_fulltext_catalog_components в этой хранимой процедуре. Возвращает список всех компонентов (фильтров, обработчиков разбиения слов и протоколов), используемых для всех полнотекстовых каталогов в текущей базе данных. Возвращает пустые строки.
DATABASEPROPERTYEX Использование свойства IsFullTextEnabled . Параметр IsFullTextEnabled указывает, включен ли полнотекстовый поиск в данной базе данных. Значение этого столбца не влияет. Полнотекстовый поиск всегда включен для пользовательских баз данных.

См. также

Изменения в функциях полнотекстового поиска
Полнотекстовый поиск