Hybris 如何在 SOLR 中索引 Variant

问题描述

我已经开始使用电子加速器,它只索引 SOLR 中的基本产品。我有多个 Variant 产品(从 GenericVariantProduct 扩展),我需要在 Grid/PLP 中显示它们。我如何更改 SOLR 索引器查询以便也索引变体?

解决方法

这是用于 electronicsProductType 的查询:

SELECT {PK} FROM {Product} WHERE ({varianttype} IS NULL OR {varianttype} NOT IN ( {{ SELECT {PK} FROM {varianttype} WHERE {code} = 'ElectronicsColorVariantProduct'}}) ) 
                            AND {code} NOT IN( {{ SELECT {code} FROM {GenericVariantProduct} }})

为了索引数据库中所有可用的产品,您可以使用以下查询:

SELECT {PK} FROM {Product}

您可以使用以下 Impex 来实现您的目的:

$solrIndexedType=electronicsProductType
$searchIndexNamePrefix=electronics

UPDATE SolrIndexerQuery; solrIndexedType(identifier)[unique = true]; identifier[unique = true]        ;query
                       ; $solrIndexedType                          ; $searchIndexNamePrefix-fullQuery ; "SELECT {PK} FROM {Product}"

调整它以更符合您的需求