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

时间:2019-09-23 09:44:21

标签: solr hybris

在Hybris 5.7中创建新的搜索构面时,我发现在SolrIndexedProperty类型中有一个名为rangeSet的属性,在SolrIndexedProperty和SolrValueRangeSet。

这些字段之间有什么区别?它们都不是不推荐使用的东西。我应该使用哪一个来创建自己的具有特定值范围的构面?

1 个答案:

答案 0 :(得分:1)

希望您已经找到问题的答案。还是加我的理解,以防万一...

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

可以将SolrValueRangeSet或SolrValueRangeSet的集合添加到SolrIndexedProperty中,以支持一个2到2或1 2到2 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