Перейти к основному контенту

Жизненный цикл поискового индекса

Индекс разбит по месяцам (бакеты emails_ГГГГ-ММ). Управление бакетами — в Проверка состояния поиска, раздел [Как управлять бакетами индекса по месяцам]. Семантика операций:

  • Отключить (cold) — коллекция бакета удаляется из Solr (ресурсы освобождаются), статус бакета — cold. Поиск по этому месяцу не выполняется; письма остаются в архиве и открываются по идентификатору. База и хранилище Клавдия не затронуты.
  • [Включить] — коллекция создаётся заново с текущим replicationFactor, получает статус active, после чего автоматически запускается переиндексация писем этого месяца. Бакет снова появляется в результатах поиска после завершения индексации.
  • [Переиндексировать] — перестроить индекс одного бакета без удаления коллекции.

Время включения зависит от объёма месяца (переиндексация). Если требуется мгновенное повторное включение без освобождения ресурсов — коллекция не удаляется, а лишь исключается из поиска («мягкое отключение», настраивается).

Полная перестройка индекса — при смене схемы (новые поля/алиасы), миграции или подозрении на порчу индекса.

  1. Меню → [Общие настройки → Поиск (Solr)].
  2. В блоке [Бакеты (по месяцам)] нажмите [Реиндексировать ВСЁ] и подтвердите.
  3. Все письма помечаются как неопроиндексированные; фоновая задача (планировщик) переиндексирует их параллельно, создавая/переиспользуя бакеты по месяцу получения. Кэш поиска сбрасывается.

Время выполнения зависит от объёма архива (может составлять часы). Прогресс виден в Очереди задач и в блоке [Очередь индексации].

После апгрейда схемы Solr (добавление полей, алиасов, copyField — версия схемы в solrconfig.xml/schema.xml выросла): новые поля/copyField применяются только к ново-индексируемым документам. Существующий индекс не пересчитывается автоматически — запустите «Реиндексировать ВСЁ», чтобы документы получили новые поля. Без переиндексации поиск по новым алиасам и полям не работает для уже архивированных писем.

Навигация по книге