【问题标题】:How to add itemType facet for hybris OCC如何为 hybris OCC 添加 itemType facet
【发布时间】:2018-07-17 22:59:27
【问题描述】:

我希望能够像这样“https://localhost:9002/rest/v2/test/products/search?fields=FULL&query=:name-asc:itemType:Concrete:category:PHX”; p>

这可能吗?

我使用的是 hybris 6.4

【问题讨论】:

    标签: facet hybris


    【解决方案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 中获得额外的属性,这将反映您的项目类型,您可以在产品搜索端点上使用它

    【讨论】:

    • 非常感谢!您的答案中唯一缺少的是 impex 的另一部分` INSERT_UPDATE SolrSearchQueryProperty;indexedProperty(name, solrIndexedType(identifier))[unique=true];facet[default=true];facetType(code);priority;facetDisplayNameProvider;facetSortProvider; facetTopValuesProvider;includeInResponse[default=true];searchQueryTemplate(name, indexedType(identifier))[unique=true][default=DEFAULT:$solrIndexedType] ;price:$solrIndexedType ; ;多选或 ;1 ; ; ; ;; `
    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 2021-09-14
    • 2019-12-20
    • 2018-10-23
    • 2020-06-28
    • 2023-02-16
    • 1970-01-01
    • 2017-09-10
    相关资源
    最近更新 更多