Howto: перезагрузить сущности в solr - PullRequest
0 голосов
/ 11 октября 2018

Допустим, у вас есть ядро ​​Solr с несколькими сущностями в вашем документе.В моем случае причина в том, что индекс подается запросами SQL, и я не хочу иметь дело с несколькими ядрами.Таким образом, если вы добавляете или изменяете одну конфигурацию объекта, вам в конечном итоге придется переиндексировать весь магазин, что может занять много времени.

Существует способ удаления и повторной индексации одной отдельной сущности, и вот как это работает: Предварительное условие: в элементах индекса должны быть поля, отражающие имя сущности.Вы можете сделать это с помощью константы в вашем операторе SQL или с помощью TemplateTransformer:

<field column="entityName" name="entityName" template="yourNameForTheEntity"/>

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

  • Обработчик запросов: / update
  • Тип документа: JSON
  • Документ (ы): удалить: {query: {entityName: yourNameForTheEntity}}

После отправки документа все связанные элементы исчезли, и вы можете убедиться в этом, запустив запрос на странице запроса: {! Term f = entityName} yourNameForTheEntity

Тогдаперейдите на страницу Dataimport, чтобы перезагрузить вашу сущность.Снимите флажок Очистить, выберите свою сущность и Выполните.

После завершения индексации вы можете вернуться на страницу запроса и проверить результат.

Вот и все.

Веселись, Кристиан

...