如何为 hybris OCC 添加 itemType facet
How to add itemType facet for hybris OCC
我希望能够像这样 api 在后台使用您可以在后台(附加图像)使用的项目类型 "https://localhost:9002/rest/v2/test/products/search?fields=FULL&query=:name-asc:itemType:Concrete:类别:PHX";
这可能吗?
我正在使用 hybris 6.4
有可能。您必须为索引项类型的 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 中获得额外的 属性,这将反映您的项目类型,您可以在产品搜索端点上使用它
我希望能够像这样 api 在后台使用您可以在后台(附加图像)使用的项目类型 "https://localhost:9002/rest/v2/test/products/search?fields=FULL&query=:name-asc:itemType:Concrete:类别:PHX";
这可能吗?
我正在使用 hybris 6.4
有可能。您必须为索引项类型的 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 中获得额外的 属性,这将反映您的项目类型,您可以在产品搜索端点上使用它