Переиндексация
- Описание
- Автоматическая переиндексация
- Переиндексация объектов
- Переиндексация справочников
- Параметры переиндексации в конфигурации
Описание
Переиндексация запускается после изменения настроек поиска, чтобы применить изменения или обновить базу поиска.
Полная или частичная переиндексация объектов при больших объемах данных может занимать продолжительное время. Во время переиндексации производительность системы может быть снижена.
Рекомендуется запускать переиндексацию во время минимальной нагрузки на систему или во время технологических блокировок.
Символы для разбиения текста при индексации
Набор символов для разбиения текста при индексации:
- Для точного типа анализатора: пробел.
- Для неточного и русского типов анализатора: пробел и символы: /, \, |, ^, @, %, !, #, $, &, ?, +, -, *, =, (, ), [, ], {, }, `, ~, <, >.
Разделитель "точка"
В набор символов для разбиения текста при индексации может быть добавлена точка.
Пример. Поиск сотрудника по фамилии Иванов, при наличии в тексте значения атрибута строки "И.Н.Иванов" (инициалы и фамилия сотрудника без пробелов):
- если точка не является разделителем, то при поиске строка "И.Н.Иванов" будет восприниматься как одно целое и найти объект по поисковому запросу "Иванов" не получится;
- если точка является разделителем, то во время переиндексации строка "И.Н.Иванов" будет разделена на три значения "И", "Н", "Иванов" и объект будет найден по поисковому запросу "Иванов".
Использование точки как разделителя включается в файле конфигурации, подробнее ниже Параметры переиндексации в конфигурации.
Способы переиндексации
Переиндексация выполняется несколькими способами:
- переиндексация объектов определенного класса/типа вручную;
- переиндексация элементов справочника вручную;
- полная переиндексация с помощью консольного скрипта api.search Переиндексация
- автоматическая переиндексация.
Автоматическая переиндексация
Переиндексация выполняется автоматически при каждом изменении объекта:
- редактировании атрибутов объекта, использующихся при быстром и расширенном поиске;
- редактировании системных атрибутов "Тип объекта" (metaClass), "Название" (title);
- редактировании системного атрибута "Исполнитель" (performer) в классе "Сотрудник" (employee) и "Команда" (team);
- перемещении объекта;
- архивировании объекта и восстановлении его из архива — редактирование системного атрибута "Признак архивирования" (removed) и пр.
Если у объекта есть атрибуты типа "Ссылка на бизнес-объект" или "Набор ссылок на бизнес-объекты", то переиндексация объекта при изменении названий объектов, которые указаны в качестве значений ссылочных атрибутов, не выполняется.
Например, у Объекта 1 есть атрибут типа "Ссылка на бизнес-объект", который ссылается на Объект 2. При изменении названия Объекта 2 не выполнится переиндексация Объекта 1.
Переиндексация будет выполнена только после редактирования самого атрибута типа "Ссылка на бизнес-объект"/"Набор ссылок на бизнес-объекты" или другого атрибута, на который настроен поиск в объекте.
Например, если у Объекта 1 значение атрибута типа "Ссылка на бизнес-объект" изменится с Объекта 2 на Объект 3, то переиндексация Объекта 1 будет выполнена.
Индексирование связанных объектов можно включить в файле конфигурации, подробнее ниже Параметры переиндексации в конфигурации.
Переиндексация объектов
Описание настройки
Пользователь может запустить переиндексацию вручную после изменения настроек поиска, чтобы применить изменения или обновить базу поиска.
Использование поиска во время переиндексации доступно.
Место настройки в интерфейсе
Меню навигации "Классы" → "Основной класс" → класс объектов.
Выполнение настройки
На вкладке "Атрибуты" нажмите Переиндексировать.
Результат настройки
Будет запущена переиндексация значений атрибутов объектов данного класса/типа.
При запуске переиндексации блокируется кнопка Переиндексировать на карточке соответствующего класса/типа и всех вложенных в него типов. Кнопка Переиндексировать остается недоступной для нажатия до момента окончания переиндексации независимо от того, перезагружалась ли страница настройки класса/типа. После окончания процесса переиндексации кнопка будет недоступной до первой перезагрузки страницы.
Переиндексация справочников
Описание настройки
Пользователь может запустить переиндексацию вручную после изменения настроек поиска, чтобы применить изменения или обновить базу поиска.
Место настройки в интерфейсе
В меню навигации выберите "Справочники" и нажмите на название справочника.
Выполнение настройки
На странице справочника нажмите Переиндексировать.
Результат настройки
Будет запущена переиндексация. Переиндексация затрагивает названия элементов справочников и папок.
При запуске переиндексации происходит блокировка кнопки Переиндексировать на карточке соответствующего справочника. Кнопка Переиндексировать остается недоступной для нажатия до момента окончания переиндексации независимо от того, перезагружалась ли страница настройки класса/типа справочника. После окончания процесса переиндексации кнопка будет недоступной до первой перезагрузки страницы.
Параметры переиндексации в конфигурации
Параметры индексации настраиваются в файле конфигурации dbaccess.properties:
-
Коды идентификаторов классов, для объектов которых будет отключена индексация (indexing.exceptions.forbiddenClasses).
По умолчанию значение параметра пусто и индексация разрешена для объектов всех классов.
Следующие классы являются исключениями, не индексируются и соответственно могут не указываться в данном параметре: абстрактные классы, коды которых начинаются с abstract, класс "Файл" (file), "Отчет" (reportInstance), "Событие" (event), "Письмо" (mail_sys) или объекты электронной почты.
- Приоритет новых объектов при индексации (indexing.priority.preferNewObjects). По умолчанию схема определения приоритета: Приоритет новых и существующих объектов, над которыми выполняются действия → Приоритет переиндексации объектов всего класса.
- Количество индексирующих потоков для очереди индексации связанных объектов (ru.naumen.linkedobjects.indexing.threadNumber). По умолчанию 1. Значение параметр стоит увеличивать, если происходят задержки в индексации.
- Индексирование связанных объектов (ru.naumen.linkedobjects.indexing). По умолчанию индексирование связанных объектов не производится.
-
Используется кэш связанных объектов для индексации объектов (ru.naumen.linkedobjects.cache.enabled). По умолчанию кэш связанных объектов не используется.
-
Место хранения индексов (ru.naumen.fts.server.lucene.reindex.usedb). По умолчанию индексы хранятся в базе данных.
-
Добавление в индекс дата и время последней индексации (ru.naumen.lucene.indexMutator.addCommitDate). По умолчанию дата и время последней индексации не добавляются в индекс.
- Количество объектов, отправляемых в очередь на переиндексацию, в одной пачке (ru.naumen.reindexing.batch.size). Рекомендуется изменять параметр для настройки баланса между скоростью переиндексации и нагрузкой на систему.
- Количество объектов, забираемых из внутренней очереди при сохранении индексов на диск, в одной пачке (ru.naumen.indexing.batch.size). Рекомендуется изменять параметр для настройки баланса между производительностью и нагрузкой на систему.
- Включение механизма, снижающего нагрузку на диск во время переиндексации (ru.naumen.indexing.backpressure.ignore). По умолчанию механизм отключен.
-
Использование точки как разделителя (ru.naumen.lucene.use_dot_splitting). По умолчанию точка не может использоваться как разделитель.
Включите параметр и выполните переиндексацию, после этого точка как разделитель будет использоваться для всех типов анализаторов.
Подробное описание параметров dbaccess.properties приведено в разделе Поиск.