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


Создание вспомогательного словаря (Office SharePoint Server 2007)

Вспомогательный словарь — это файл в кодировке Юникод, который можно использовать для задания слов, которые средство разбиения слов для этого же языка должен считать целыми словами. По умолчанию вспомогательные словари не предоставляются. Чтобы изменить поведение средства разбиения слов для нескольких языков, необходимо создать отдельный вспомогательный словарь для каждого языка, для которого нужно изменить поведение средства разбиения слов. Создать вспомогательный словарь для средства разбиения слов, не зависящего от языка, нельзя.

Примечание

Вспомогательные словари применяются ко всем поставщикам общих служб в ферме серверов.

В следующей таблице перечислены языки и диалекты, для которых Microsoft Office SharePoint Server 2007 поддерживает вспомогательные словари. Эта таблица также содержит идентификатор кода языка (LCID) и шестнадцатеричный код языка для каждого поддерживаемого языка и диалекта.

Обратите внимание, что первые два числа в шестнадцатеричном коде языка представляют диалект, а последние два числа — язык. Если для языка отсутствуют отдельные средства разбиения слов для отдельных диалектов, первые два числа в шестнадцатеричном коде языка всегда равны нулю.

Таблица 1. Поддерживаемые языки

Язык / диалект LCID Шестнадцатеричный код языка

Арабский

1025

0001

Бенгальский

1093

0045

Болгарский

1026

0002

Каталанский

1027

0003

Хорватский

1050

001a

Датский

1030

0006

Голландский

1043

0013

Английский

1033

0009

Французский

1036

000c

Немецкий

1031

0007

Гуджарати

1095

0047

Иврит

1037

000d

Хинди

1081

0039

Исландский

1039

000f

Индонезийский

1057

0021

Итальянский

1040

0010

Японский

1041

0011

Каннада

1099

004b

Латышский

1062

0026

Литовский

1063

0027

Малайский

1086

003e

Малаялам

1100

004c

Маратхи

1102

004e

Норвежский_Bokmaal

1044

0414

Португальский

2070

0816

Португальский _Бразилия

1046

0416

Пенджабский

1094

0046

Румынский

1048

0018

Русский

1049

0019

Сербский_кириллица

3098

0c1a

Сербский _латиница

2074

081a

Словацкий

1051

001b

Словенский

1060

0024

Испанский

3082

000a

Шведский

1053

001d

Тамильский

1097

0049

Телугу

1098

004a

Украинский

1058

0022

Урду

1056

0020

Вьетнамский

1066

002a

Причины использования вспомогательного словаря

Вспомогательные словари используются, чтобы заставить средство разбиения слов для конкретного языка игнорировать (то есть не разбивать) конкретное слово. Чтобы понять, понадобится ли вспомогательный словарь и какие слова или записи он должен содержать, полезно разобраться в поведении средств разбиения слов.

Средства разбиения слов используются системой индексирования, чтобы разбивать слова в маркерах при индексировании контента. Средства разбиения слов также используются системой запросов, чтобы разбивать слова в запросах на маркеры. В обоих случаях, если существующий словарь был создан для поддержки языка и диалекта используемого средства разбиения слов, служба поиска Office Server, прежде чем решить, использовать ли средство разбиения слов для этого слова, определяет, существует ли слово в вспомогательном словаре. Если слово во вспомогательном словаре отсутствует, средство разбиения слов выполняет свои обычные действия, которые могут привести к разбиению слова на несколько слов или маркеров. Если же слово присутствует во вспомогательном словаре, средство разбиения слов не выполняет никаких действий с этим словом.

В следующих примерах описывается типичное поведение средства разбиения слов и возможное влияние на это поведение записи во вспомогательном словаре.

Пример 1

Конкретное средство разбиения слов, встречающее такое слово как IT&T, может разбить слово по символу амперсанда (&). Результатом становится слово IT и буква T, которую средство разбиения слов для большинства языков отбросит как пропускаемое слово. Но если это слово, IT&T, существует во вспомогательном словаре для языка используемого средства разбиения слов, средство разбиения слов проигнорирует это слово, IT&T. Это означает, что при выполнении полного обхода это слово будет индексироваться как IT&T. Когда пользователь вводит запрос для этого слова, IT&T, средство разбиения слов не будет разбивать это слово. При этом запросы, содержащие "IT" или "T", не возвратят результаты поиска для документов, которые не содержат эти слова, но содержат слово "IT&T".

Пример 2

Средства разбиения слов могут повлиять на термины, такие как систематические химические названия (СХН) или номера службы CAS. Например, средства разбиения слов обычно отделяют от остальной части номера отдельные числа, появляющиеся перед дефисом или специальным символом или после него. Примером номера CAS является 7782-44-7 (регистрационный номер CAS для кислорода). После обработки средством разбиения слов это слова разбивается на три отдельных части: числа 7782, 44 и 7. Добавление СХН и номеров CAS, которые появляются в фонде документов, во вспомогательный словарь для каждого языка, в которых они применяются, позволяет системе индексировать СХН и номера CAS, не разбивая их на отдельные числа. Так как во время запроса используются соответствующее средство разбиения слов и вспомогательный словарь для языка контента, пользователь также может включить СХН или номер CAS в свой запрос, и они не будут разбиты на отдельные части.

Нормализация и файлы тезауруса

Нормализация именованных элементов, например нормализация даты, которая обычно применяется средством разбиения слов, не применяется к терминам запросов, появляющимся во вспомогательных словарях. Вместо этого все термины запроса, появляющиеся во вспомогательных словарях, рассматриваются как точное соответствие. Это особенно важно, если файл тезауруса содержит слова или числа (такие как вышеупомянутые). Например, если номер CAS, 7782-44-7, является частью набора расширения в тезаурусе, и средство разбиения слов разделяет этот номер по дефисам на три отдельных числа, то набор расширения, частью которого является этот номер, может работать не так, как ожидается. В этом случае проблему решает добавление номера CAS, 7782-44-7, во вспомогательный словарь соответствующего языка.

Подготовка

Создание или изменение вспомогательного словаря является несложным действием. Вспомогательный словарь — это просто файл в кодировке Юникод с записями (заданными словами) в отдельных строках, разделенных символами возврата каретки (CR) и перевода строки (LF). При добавлении записей во вспомогательный словарь, соблюдайте следующие правила, чтобы избежать непредсказуемых результатов:

  • В записях регистр не учитывается.

  • Ни в каком месте вспомогательного словаря нельзя использовать символ конвейера (|).

  • Ни в каком месте вспомогательного словаря нельзя использовать пробел.

  • Знак решетки (#) нельзя использовать в начале записи, но его можно использовать в середине или в конце записи.

  • За исключением вышеупомянутых символов конвейера, решетки и пробела, допустимы любые буквы, цифры, символы и знаки пунктуации.

  • Максимальная длина записи составляет 128 знаков (Юникод).

В следующей таблице приведены поддерживаемые и неподдерживаемые записи.

Таблица 2. Примеры поддерживаемых и неподдерживаемых записей

Поддерживается Не поддерживается.

dogfood

dog food

1,36кг

#3

Четыре#продажи

dog|food

ASP.NET

IT&T

(2-метоксиметиленокси)пропанол

34590-97-8

C7H1603

Фиксированных ограничений на количество записей во вспомогательном словаре не существует, но рекомендуется, чтобы суммарный размер файла вспомогательного словаря не превышал 2 ГБ. На практике мы предлагаем ограничить число записей несколькими тысячами.

Создание вспомогательного словаря

Перед созданием вспомогательного словаря убедитесь убедитесь, что прочитан вышеприведенный в этой статье раздел Подготовка, так как он важен для понимания различий между поддерживаемыми и неподдерживаемыми записями во вспомогательном словаре.

Примечание

Для выполнения этой процедуры необходимо быть участником группы администраторов на каждом сервере индексирования и сервере запросов фермы серверов.

Создание вспомогательного словаря

  1. Войдите на сервер индексирования в качестве участника группы администраторов.

  2. Запустите "Блокнот" и введите слова, которые должны содержаться во вспомогательном словаре. Убедитесь в отсутствии недопустимых записей, описанных в разделе Подготовка.

    Совет

    Не забывайте, что каждое слово должно находиться на отдельной строке и отделяться символами возврата каретки (CR) и перевода строки (LF).

  3. В меню Файл выберите команду Сохранить как.

  4. В списке Тип файла выберите значение Все файлы.

  5. В списке Кодировка выберите Юникод.

  6. В поле Имя файла введите имя в следующем формате: CustomNNNN.lex, где NNNN — это шестнадцатеричный код языка, для которого создается вспомогательный словарь. См. список правильных имен файлов для поддерживаемых языков и диалектов в таблице 1 выше в этой статье.

  7. В списке Папка перейдите в папку, содержащую средства разбиения слов. По умолчанию это диск:\program files\Microsoft Office Servers\12\bin, где диск — это буква диска, на который устанавливается Office SharePoint Server 2007.

  8. Нажмите кнопку Сохранить.

    Выполните следующую процедуру только при использовании серверов запросов, отделенных от сервера индексирования. В противном случае перейдите к разделу Остановка и перезапуск службы поиска сервера Office SharePoint Server.

Копирование вспомогательного словаря на другие серверы

  1. Войдите на сервер индексирования в качестве члена группы администраторов.

  2. Перейдите в папку, в которой был сохранен файл вспомогательного словаря.

  3. Скопируйте файл вспомогательного словаря в папку, содержащую средства разбиения слов, на первом сервере запросов. По умолчанию это диск:\program files\Microsoft Office Servers\12\bin, где диск — это буква диска, на который устанавливается Office SharePoint Server 2007.

  4. Выполните полный обход затрагиваемого контента. Сведения о выполнении полного обхода см. в статье Обход содержимого (Office SharePoint Server 2007).

  5. Повторите шаги 1 — 3 на каждом сервере запросов фермы серверов.

Остановите и перезапустите службу поиска сервера Office SharePoint Server

Необходимо перезапустить службу поиска на всех серверах индексирования и запросов

Важно!

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

Остановка и повторный запуск службы поиска Office SharePoint Server

  1. Войдите на сервер индексирования в качестве участника группы администраторов.

  2. В меню Пуск выберите Все программы, укажите Администрирование, а затем выберите Службы

  3. Прокрутите список вниз, щелкните правой кнопкой мыши службу Поиск Office SharePoint Server, а затем выберите Свойства. Отображается страница свойств.

  4. Нажмите кнопку Стоп. После остановки службы нажмите кнопку Пуск.

  5. Убедитесь, что значение поля Тип запуска не равно "Отключено".

  6. Если ферма серверов включает серверы запросов, отделенные от серверов индексирования, повторите шаги 1-5 на каждом сервере запросов.

Выполнение полного обхода контента

Чтобы применить вспомогательный словарь к индексу контента, необходимо выполнить полный обход всех источников контента, содержащих слова, добавленные во вспомогательный словарь. Сведения о выполнении полного обхода см. в статье Обход содержимого (Office SharePoint Server 2007).