Мы не можем индексировать категории размещения предложений (это склад) для Solr.Отношение «многие ко многим», называемое «суперкатегориями» из AccommodationOffering в Category, было создано таким же образом, как и Product.
Совокупная информация существует на уровне базы данных и может быть получена весной через Groovy.запросы от ВАК.Вы также можете видеть информацию из HMC, и она хорошо ассоциируется, однако при обращении к ней у поставщика данные всегда приходят пустыми.Поэтому мы не знаем, существует ли перехватчик, который влияет на это поле, что заставляет вас всегда возвращать пустое значение, поэтому вы не можете добавлять категории в Solr.
Поскольку это не Продукт,Класс DefaultCategorySource был расширен, и теперь метод getDirectSuperCategories () соответствует нашим потребностям:
Защищенный Set getDirectSuperCategories (окончательный набор продуктов) {окончательный Набор категорий = новый HashSet ();
for (final AccommodationOfferingModel product: products)
{
// This code snippet is originally used but returns empty
/ * final Collection <CategoryModel> directCategories = getModelService ()
.getAttributeValue (product, getCategoriesQualifier ()); * /
// Attempt to bring the complete object but the supercategories attribute is still empty
final AccommodationOfferingModel auxAccom = modelService.get (product.getPk ());
final Collection <CategoryModel> directCategories = auxAccom.getSupercategories ();
if (directCategories! = null &&! directCategories.isEmpty ())
{
categories.addAll (directCategories);
}
}
return categories;
}
Этот метод вызывается при индексации с помощью Solr, здесь мы не можем получить категории для индексации их в Solr.