Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
iconfalse

Плагин ru.intertrust.cm_sochi.plugins.ReindexSolrDataPlugin (solr.data.reindex.plugin) предназначен для частичной переиндексации данных при изменении схемы solr и конфирурации области поиска, которые на существующей базе индексов приводят к невозможности запуска solr и является альтернативой удалению базы индексов и полной переиндексации.

Плагин позволяет выполнить выборку solr-документов, сохранение идентификаторов в базе, удаление индексов найденных документов и их переиндексацию. Хранение идентификаторов документов, индексы которых подлежат удалению осуществляется в реляционной БД (postgres) в таблицах "solr_index_request" и "solr_index_item"

Для выполнения указанных действий нужно при запуске плагина из админки ввести соответствующие параметры.

Свойства страницы
Статус

Статус
colourGreen
titleГОТОВО

Комментарий

get

Формат строки параметра для поиска документов, индексы которых подлежат удалению, следующий
Блок кода
get(solr-сервер, запрос-для-поиска-документов)

где solr-сервер - идентификатор solr-сервера (regular - для обычного поиска, или значение ключа search.solr.cntx.servers из server.properties для умного), запрос-для-поиска-документов - поисковый запрос в формате solr query language, например cm_area:(ContractsLite) или cm_te_ru_regnumberexact:[* TO *].

Результатом запуска плагина с таким параметром будет являться запись в таблицу "solr_index_request" данных о запросе на поиск/удаление/индексацию, записи в таблицу "solr_index_item" идентификаторов найденных документов (индексов), и идентификатор запроса на индексацию в виде solr-index-request-id: идетификатор (в лог-файле, формируемом плагином)

delete

Формат строки параметра для удаления индексов найденных документов, при выполнении операции get

Блок кода
delete(id-запроса-на-индексацию)

где id-запроса-на-индексацию - идентификатор, получаемый на этапе 1.

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

index

Формат строки параметра для индексации найденных на этапе 1 документов, при выполнении операции get

Блок кода
index(id-запроса-на-индексацию)

где id-запроса-на-индексацию - идентификатор, получаемый на этапе 1.

При запуске плагина с таким параметром результатом является запись документов в очередь на индексацию


панель

Параметры:

Оглавление

Пример

Сценарий использования плагина , на примере ошибки cannot change DocValues type from SORTED_NUMERIC to SORTED_SET for field "cm_te_ru_regnumberexact")

  1. запуск solr со старой схемой managed-schema, в которой поле cm_te_ru_regnumberexact описано как целочисленное.
  2. запуск плагина с параметром

    Без форматирования
    get(_regular_, cm_te_ru_regnumberexact:[* TO *] OR cm_te_en_regnumberexact:[* TO *] OR cm_te__regnumberexact:[* TO *])

    Из лог-файла, формируемого плагином

    Без форматирования
    16:03:12 start get
    16:03:12 query cm_te_ru_regnumberexact:[* TO *] OR cm_te_en_regnumberexact:[* TO *] OR cm_te__regnumberexact:[* TO *]
    16:03:28 found: 761
    16:03:28 solr-index-request-id: 4341000000000009

    запоминаем идентификатор, в нашем примере - 4341000000000009

  3. запуск плагина с параметром

    Без форматирования
    delete(4341000000000009)
  4. остановка solr и замена схемы managed-schema на новую

  5. запуск solr с новой схемой

  6. запуск плагина с параметром

    Без форматирования
    index(4341000000000009)