如何为hybris OCC添加itemType facet

时间:2018-02-07 15:26:26

标签: facet hybris

我希望能够在其余api中使用您可以在后台(图片附加)中使用的itemtype,例如“https://localhost:9002/rest/v2/test/products/search?fields=FULL&query=:name-asc itemType:Concrete :category:PHX”;

可能吗?

即时使用hybris 6.4

hybris backoffice

1 个答案:

答案 0 :(得分:1)

有可能。您必须为SOLR配置创建索引属性,以索引项类型。

为此创建impex:

INSERT_UPDATE SolrIndexedProperty; $solrIndexedType; name[unique = true]    ; backofficeDisplayName; type(code); facet[default=true]; multiValue; priority; fieldValueProvider                    ; valueProviderParameter                                              ; facetDisplayNameProvider                    ; facetType(code); facetSort(code); visible[default=true]
                                 ;                 ; productType            ; Product Type         ; string    ;                    ; false     ; 1       ; productTypeValueResolver              ;                                                                     ;                                             ; MultiSelectOr  ; Alpha

然后创建你的解析器

public class ProductTypeValueResolver extends AbstractValueResolver<ItemModel, Object, Object> {

    @Override
    protected void addFieldValues(final InputDocument inputDocument, final IndexerBatchContext indexerBatchContext,
                    final IndexedProperty indexedProperty, final ItemModel product,
                    final ValueResolverContext<Object, Object> resolverContext) throws FieldValueProviderException {
            inputDocument.addField(indexedProperty, product.getItemtype(), resolverContext.getFieldQualifier());
    }
}

最后用该解析器创建一个spring bean

<bean id="productTypeValueResolver" class="com.your.package.ProductTypeValueResolver" parent="abstractValueResolver">

之后,您将在solr中获得额外的属性,这将反映您的项目类型,您可以在产品搜索终点上使用它