Поделиться через


Как изменить файл тезауруса (компонент Full-Text Search)

Тезаурус для данного языка может быть настроен путем изменения соответствующего файла тезауруса (XML-файла). В процессе установки устанавливаются пустые файлы тезауруса, которые содержат только контейнер <xml> и заключенный в комментарии образец элемента <thesaurus>. Для правильной работы запросов полнотекстового поиска синонимов необходимо создать реальный элемент <thesaurus>, который определяет набор синонимов. Могут быть определены две формы синонимов — расширяющие наборы и заменяющие наборы. Сведения о расположении и структуре файла тезауруса см. в разделе Конфигурация тезауруса.

Ограничения для файлов тезауруса

На изменения файла тезауруса налагаются следующие ограничения.

  • Только системные администраторы имеют право обновлять, изменять и удалять файлы тезауруса.

  • При изменении файлов тезауруса с помощью текстовых редакторов эти файлы необходимо сохранять в Юникоде с указанием отметок порядка байтов.

  • Элементы тезауруса не могут быть пустыми или делиться на пустые строки.

  • Фразы в файле тезауруса не могут иметь длину более 512 символов.

  • Тезаурус не должен содержать повторяющихся элементов среди элементов <sub> расширяющих наборов и элементов <pat> заменяющих наборов.

Рекомендации для файлов тезауруса

Рекомендуется, чтобы элементы в файле тезауруса не содержали специальных символов. Это объясняется особенностями поведения средств разбиения по словам в отношении специальных символов. Если элемент тезауруса содержит какие-нибудь специальные символы, то средства разбиения по словам, использованные в сочетании с этим элементом, могут оказать малозаметное воздействие на поведение полнотекстового запроса.

Рекомендуется, чтобы элементы <sub> не содержали стоп-слов, так как стоп-слова удаляются из полнотекстового индекса. Запросы расширяются, чтобы охватить элементы <sub> из файла тезауруса, и если элемент <sub> содержит стоп-слова, то размер запроса излишне увеличивается.

Изменение файла тезауруса

  1. Откройте файл тезауруса в Блокноте.

  2. При первом редактировании файла тезауруса удалите следующие строки комментариев, находящиеся, соответственно, в конце и в начале файла:

    <!--Commented out
    -->
    
  3. Добавьте, измените или удалите заменяющий или расширяющий набор. Дополнительные сведения см. в разделе Конфигурация тезауруса.

  4. Сохраните файл и закройте Блокнот.

  5. Используйте хранимую процедуру sp_fulltext_load_thesaurus_file, чтобы загрузить содержимое файла тезауруса в базу данных tempdb, указав идентификатор языкового стандарта (LCID), соответствующий языку файла тезауруса. Например, файлу тезауруса английского языка, tsenu.xml, соответствует код языка 1033.

    USE AdventureWorks2008R2 ;
    EXEC sys.sp_fulltext_load_thesaurus_file 1033;
    GO