因此,正如标题所说,我希望在整数字段上具有范围构面。
在文档中说:刻面LongRangeFacetCounts
,DoubleRangeFacetCounts
从提供的LongValuesSource
计算动态数值范围的计数我可以对任何数字类型使用LongRanceFacetCounts或DoubleRangeFacetCounts:double
,decimal
,long
,float
,但不能使用int
,这很烦人。
有人从int字段获取范围方面有经验吗?
谢谢
您可以获取一个Int值字段的LongValuesSource:LongValuesSource.fromIntField
(或者,如果愿意,可以使用DoubleValuesSource:DoubleValuesSource.fromIntField)
由于@femtoRgon的评论,我找到了Lucene.net
的解决方案。
DoubleRangeFacetCounts具有这样的构造函数:
DoubleRangeFacetCounts(string field, **ValueSource valueSource,** FacetsCollector hits, params DoubleRange[] ranges)
valueSource
参数在这里很有趣,因为我们可以传递该类的不同实现。
Fx .: new Int32FieldSource(definitionFacet.Key)
,如果该字段是一个整数或new DoubleFieldSource(definitionFacet.Key)
(如果该字段为双精度等)
事后看来很明显,但起初我没有注意到