Hybris Solr住宿类别提供索引编制失败

时间:2018-11-15 11:31:18

标签: indexing solr hybris

我们无法将AccommodationOffering(这是一个仓库)的类别索引到Solr。 以与Product相同的方式创建了从AccommodationOffering到Category的多对多关系,称为“超级类别”。

聚合信息存在于数据库级别,并且可以通过Spring通过HAC的常规查询来检索。您还可以从HMC看到信息,并且该信息关联良好,但是从提供者处查询时,数据始终为空。因此,我们不知道是否有影响此字段的拦截器使您始终返回空值,这就是为什么您无法向Solr添加类别的原因。

由于它不是产品,所以DefaultCategorySource类得到了扩展,根据我们的需要,其中的getDirectSuperCategories()方法如下:

受保护的set getDirectSuperCategories(最终Set产品)     {         最终Set类别=新的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的地方。

0 个答案:

没有答案