Hybris 自定义分面排序提供程序不工作
Hybris custom facet sort provider not working
我做了一个实现,其中我创建了一个自定义 Facet Value Sort Provider
和一个自定义 Facet Top Values provider
。
我将它们分配给了我的一个 Solr 索引属性。我还将 Facet Sort 类型更改为 Custom
它在我的本地环境和我们的一个测试环境中工作得很好。但在我们的 QA 环境中,只有顶级价值提供者在工作。应用的常规 Facet Solr Provider 基于 facet 结果计数。
我只是注意到在这个实现之后我 select 的 Facet 排序并不重要,它坚持按计数应用排序。
你们知道如何让我的自定义排序在那里工作吗?是否有我必须更改的 solr xml?
为 SolrIndexedPropertyFacetSort 选择 "custom" 并将字段 customFacetSortProvider 设置为您的自定义 bean 后,您需要确保您的 bean 实现 FacetSortProvider 并覆盖比较器方法:
@Override
public Comparator<FacetValue> getComparatorForTypeAndProperty(IndexedType arg0, IndexedProperty arg1)
{
// XXX Auto-generated method stub
return null;
}
在 SolrSearchConfig
中将 legacyMode
更改为 true
后有效。
这是环境之间唯一的不同
我做了一个实现,其中我创建了一个自定义 Facet Value Sort Provider
和一个自定义 Facet Top Values provider
。
我将它们分配给了我的一个 Solr 索引属性。我还将 Facet Sort 类型更改为 Custom
它在我的本地环境和我们的一个测试环境中工作得很好。但在我们的 QA 环境中,只有顶级价值提供者在工作。应用的常规 Facet Solr Provider 基于 facet 结果计数。
我只是注意到在这个实现之后我 select 的 Facet 排序并不重要,它坚持按计数应用排序。
你们知道如何让我的自定义排序在那里工作吗?是否有我必须更改的 solr xml?
为 SolrIndexedPropertyFacetSort 选择 "custom" 并将字段 customFacetSortProvider 设置为您的自定义 bean 后,您需要确保您的 bean 实现 FacetSortProvider 并覆盖比较器方法:
@Override
public Comparator<FacetValue> getComparatorForTypeAndProperty(IndexedType arg0, IndexedProperty arg1)
{
// XXX Auto-generated method stub
return null;
}
在 SolrSearchConfig
中将 legacyMode
更改为 true
后有效。
这是环境之间唯一的不同