SolrIndexedProperty 类型中的 rangeSets 和 rangeSet 有什么区别?

What's the difference between rangeSets and rangeSet in SolrIndexedProperty type?

在 Hybris 5.7 中创建新的搜索方面时,我发现在 SolrIndexedProperty 类型中有一个名为 rangeSet 的属性,并且还有一个名为 SolrIndexedProperty2SolrValueRangeSetRelation 的多对多关系SolrIndexedProperty 和 SolrValueRangeSet。

这些字段有什么区别? None 其中已弃用或其他内容。我应该使用哪一个来创建我自己的具有特定值范围的方面?

希望您已经找到问题的答案。仍然添加我的理解以防万一...

一个SolrValueRangeSet是相关SolrValueRange的集合。 hybris中有两个不同的字段支持rangeSetrangeSets

可以将 SolrValueRangeSet 或 SolrValueRangeSet 的集合添加到 SolrIndexedProperty 以支持一对多或一对多 2 多个 属性 范围值。您可以将后者视为对先前的增强。

如果您想允许不同值的多面范围,您可以使用 rangeSets,如下例所示

INSERT_UPDATE SolrValueRangeSet;name[unique=true]; qualifier;    type; solrValueRanges(&rangeValueRefID)
                               ;priceRange-USD   ; PriceRangeUSD;  double; usd-range1, usd-range2
                               ;priceRange-EUR   ; PriceRangeEUR;  double; eur-range1, eur-range2

SolrValueRange : 定义相关的价格范围值,如下所示

INSERT_UPDATE SolrValueRange; &rangeValueRefID;s olrValueRangeSet(name)[unique=true]; name[unique=true]; from; to
 ;usd-range1;priceRange-USD;    Rating 1;  0; 50
 ;usd-range2;priceRange-USD;    Rating 2; 50; 100
 ;eur-range1;priceRange-EUR;    Rating 1;  0; 120
 ;eur-range2;priceRange-EUR;    Rating 2; 120; 300
INSERT_UPDATE SolrIndexedProperty; name[unique = true];rangeSets(name)
                                 ; price range; priceRange-USD , priceRange-EUR