Сделать продукт героем в 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