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

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в Microsoft 365

Пользовательский словарь — это файл, который администратор создает для указания маркеров, которые средство разбиения по словам определенного языка должно рассматривать как неделимые во время индекса и во время запроса. Пользовательские файлы словаря не предоставляются вместе с продуктом. Необходимо создать отдельный пользовательский словарь для каждого языка, для которого требуется изменить поведение средства разбиения по словам.

Примечание.

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

В этой статье

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

  • Правила создания пользовательского словаря

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

  • Копирование пользовательского словаря на каждый сервер приложений

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

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

  • Поддерживаемые языки

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

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

  • Средство разбиения по словам может нарушить маркер "ИТ-&T" непосредственно перед и после амперсанда (&), в результате чего три маркера "IT", "&" и "T". Однако если маркер "ИТ-&T" находится в пользовательском словаре того же языка, что и используемое средство разбиения по словам, средство разбиения по словам не нарушает этот маркер (во время обхода контента или во время запроса). Если "ИТ-&T" находится в пользовательском словаре и если документ не содержит "IT" или "T", но содержит "ИТ-&T", запрос, содержащий "IT" или "T", но не "IT&T", не возвращает этот документ в результирующий набор.

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

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

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

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

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

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

  • Символ канала (|) не может использоваться.

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

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

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

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

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

Таблица 1. Примеры поддерживаемых и неподдерживаемых записей для пользовательских файлов словаря

Поддерживается Не поддерживается.
dogfood dog food
3# #3
Для#продажи Для|продажи
ASP.NET
ИТ-&T
(2-Метоксиметилэтокси)пропанол
34590-97-8
C7H1603

Максимальное число записей в пользовательском словаре — 10 000. Нет доступных параметров для изменения этого ограничения. Однако рекомендуется, чтобы общий размер файла пользовательского словаря не превышал 2 гигабайта (ГБ). На практике мы предлагаем ограничить число записей несколькими тысячами.

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

Используйте следующую процедуру, чтобы создать пользовательский словарь.

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

  1. Убедитесь в том, что учетная запись пользователя, от имени которой выполняется процедура, принадлежит к группе "Администраторы" на локальном компьютере.

  2. Войдите на сервер обхода контента.

  3. Откройте новый файл в текстовом редакторе.

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

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

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

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

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

  8. В списке Сохранить в перейдите к папке, содержащей средства разбиения по словам. По умолчанию это папка %ProgramFiles%\Microsoft Office Servers\14.0\Bin для SharePoint Server 2010, %ProgramFiles%\Microsoft Office Servers\15.0\Bin для SharePoint Server 2013 и %ProgramFiles%\Microsoft Office Servers\16.0\Bin для SharePoint Server 2016 и SharePoint Server 2019.

    Примечание.

    Пользовательские файлы словаря можно использовать только в том случае, если они хранятся в этой папке в локальной файловой системе. Их нельзя использовать, если они хранятся только на сайте SharePoint, например.

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

  10. Если в ферме нет других серверов обхода контента или серверов запросов, перейдите в раздел Остановить и перезапустить службу поиска SharePoint Server 14. В противном случае перейдите к следующей процедуре: "Скопируйте пользовательский словарь на каждый сервер приложений в ферме".

Копирование пользовательского словаря на каждый сервер приложений

На каждом сервере приложений в ферме должна быть копия пользовательского словаря.

Копирование пользовательского словаря в каждое приложение

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

  2. На каждом сервере приложений в ферме скопируйте новый файл пользовательского словаря в папку, содержащую средства разбиения по словам. По умолчанию это папка %ProgramFiles%\Microsoft Office Servers\14.0\Bin для SharePoint Server 2010, %ProgramFiles%\Microsoft Office Servers\15.0\Bin для SharePoint Server 2013 и %ProgramFiles%\Microsoft Office Servers\16.0\Bin для SharePoint Server 2016 и SharePoint Server 2019.

    Примечание.

    Пользовательские файлы словаря можно использовать только в том случае, если они хранятся в этой папке в локальной файловой системе. Их нельзя использовать, если они хранятся только на сайте SharePoint, например.

Остановка и перезапуск службы поиска SharePoint Server 14/15/16 на каждом сервере приложений

Необходимо перезапустить службу поиска SharePoint Server 14 (для SharePoint Server 2010), поиска SharePoint Server 15 (для SharePoint Server 2013) или поиска SharePoint Server 16 (для SharePoint Server 2016 и SharePoint Server 2019) на каждом сервере приложений в ферме.

Важно!

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

Остановка и перезапуск службы поиска SharePoint Server 14/15/16 на каждом сервере приложений

  1. Убедитесь в том, что учетная запись пользователя, от имени которой выполняется процедура, принадлежит к группе "Администраторы" на локальном компьютере.

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

  3. Щелкните правой кнопкой мыши службу Поиск SharePoint Server 14 (для SharePoint Server 2010), Поиск SharePoint Server 15 (для SharePoint Server 2013) или Поиск SharePoint Server 16 (для SharePoint Server 2016 и SharePoint Server 2019) и выберите пункт Свойства. Откроется диалоговое окно Свойства .

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

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

  6. Повторите эту процедуру для каждого сервера приложений (то есть для каждого сервера обхода контента и каждого сервера запросов) в ферме.

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

Чтобы применить пользовательский словарь к индексу содержимого, необходимо выполнить полный обход содержимого, содержащего маркеры, добавленные в пользовательский словарь. Сведения о выполнении полного обхода контента см. в статье Управление обходом контента в SharePoint Server.

Поддерживаемые языки

В следующей таблице указаны языки и диалекты, для которых SharePoint Server 2010 поддерживает пользовательские словари. Создать вспомогательный словарь для средства разбиения слов, не зависящего от языка, нельзя. Таблица содержит идентификатор кода языка (LCID) и шестнадцатеричный код языка для каждого поддерживаемого языка и диалекта. Первые два числа в шестнадцатеричном коде представляют диалект, а последние два числа — язык. Для языков, в которых нет отдельных разбиений по словам для отдельных диалектов, первые два числа в шестнадцатеричном коде языка всегда равны нулям.

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

Язык / диалект Код языка Шестнадцатеричный код языка
Арабский 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
Malay 1086 003e
Малаялам 1100 004c
Маратхи 1102 004e
Norwegian_Bokmaal 1044 0414
Португальский 2070 0816
Portuguese_Braz 1046 0416
Панджаби 1094 0046
румынский; 1048 0018
русский; 1049 0019
Serbian_Cyrillic 3098 0c1a
Serbian_Latin 2074 081a
Словацкий 1051 001b
Словенский 1060 0024
испанский; 3082 000a
шведский; 1053 001d
Тамильский 1097 0049
Телугу 1098 004a
Украинский 1058 0022
Урду 1056 0020
Вьетнамский 1066 002a