我希望能够在其余api中使用您可以在后台(图片附加)中使用的itemtype,例如“https://localhost:9002/rest/v2/test/products/search?fields=FULL&query=:name-asc: itemType:Concrete :category:PHX”;
可能吗?
即时使用hybris 6.4
答案 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中获得额外的属性,这将反映您的项目类型,您可以在产品搜索终点上使用它