После изменения сведений о продукте примененное правило повышения не работает

Сделайте продукт героем продукта, нажав звездочку в бэк-офисе. Он будет отображаться вверху. Затем перейдите в режим администрирования и измените детали этого продукта, то есть идентификатор или сводку этого продукта в поэтапной версии, а затем синхронизируйте это. Затем перейдите в режим коммерческого поиска и увидите, что продукт, который мы сделали главным продуктом, теперь не является продуктом-героем, и он попадает в то место, где он был до создания продукта-героя.

У кого-нибудь есть идея? Я думаю, он должен быть как главный продукт после редактирования любых деталей этого продукта Он должен отображаться вверху после редактирования сведений о продукте.


person Priyanka Gupta    schedule 25.05.2017    source источник


Ответы (2)


Я думаю, что вам нужно переиндексировать solr, обновив индекс Solr в вашем бэк-офисе, вы можете сделать это, нажав кнопку Hot Update Index, вы найдете его:

Administration -> System -> facet Search -> Facet search config -> Hot Update Index
person Monsif EL AISSOUSSI    schedule 25.05.2017

Сделать продукт героем в Hybris - это просто добавить невероятно высокий балл повышения к данным кодам продуктов. Поскольку это операция времени запроса к SOLR, в отличие от операции времени индексации, простое повторное индексирование не решит эту проблему.

По опыту, это похоже на проблему с кешированием. Поскольку и коммерческий поиск Backoffice, и витрина используют один и тот же сервисный код, если вы добавили стратегию кэширования, такую ​​как EhCache, вы можете обнаружить, что это сохраняет набор результатов каждый раз, поскольку он пропускает SOLR и получает результаты из кеша. .

Тестирование сценария кеширования

Вы сможете проверить эту теорию, выполнив следующие действия:

  • Если у вас есть кеширование, попробуйте найти используемую стратегию и определить ее политику выселения и время жизни (например, LFU и 30 минут TTL)
  • Перейдите в перспективу коммерческого поиска в Backoffice
  • Выберите категорию
  • Выберите продукт, чтобы сделать продукт героем
  • Временно это должно продвинуть его в начало страницы.
  • Измените категорию один раз, затем вернитесь к предыдущей категории
  • Вы должны были еще раз воспроизвести проблему, а теперь дважды проверьте витрину, чтобы убедиться, что набор результатов такой же.
  • Теперь подождите, пока не истечет время вашего кеширования. Если у вас нет TTL, но вместо этого есть Time To Idle, вам необходимо убедиться, что никто другой не получит доступ к тому же элементу из кеша.
  • Когда срок действия элемента истек, вернитесь в бэк-офис.
  • Вы узнаете, что проблема в кешировании, если теперь ваш продукт Hero отображается в правильном месте. Вы также можете еще раз проверить на витрине, правильно ли выставлен товар вашего героя.

Предложение по исправлению кеширования

Вы можете просто найти Spring Bean, который использует стратегию кэширования (вероятно, это productSearchFacade), и перенастроить его так, чтобы и Backoffice, и storefront больше не использовали кеширование. Однако кеширование, очевидно, является ценным инструментом, поэтому я бы посоветовал хотя бы оставить его на витрине магазина. Это будет означать, что любые изменения, внесенные в Backoffice, будут отражаться на витрине только после того, как истечет срок действия элемента кеша, но, по крайней мере, вы должны иметь возможность правильно продавать товары через перспективу Commerce Search.

Другие методы анализа первопричин

Если кеширование не является проблемой, я настоятельно рекомендую вам изменить уровень ведения журнала на DEBUG через консоль администратора Hybris для двух классов (в зависимости от того, выбрали ли вы устаревшую стратегию или стратегию по умолчанию).

LegacyFacetSearchStrategy

DefaultFacetSearchStrategy

Это позволит вам вести журнал необработанного запроса SOLR. Это дает вам необработанные данные, необходимые для использования консоли администратора SOLR по адресу http://localhost:8983 и протестируйте различные сценарии.

person HarbyUK    schedule 25.05.2017