由于我目前正在学习Solr,而且非常新手,因此我不确定是否有可能。我正在查询包含几十万个数据集的数据集,并返回这些集合的价格统计信息。我的大部分数据的价格都远高于0(理想情况下将超过150或500),但是对于某些查询,价格远高于0。
是否有某种方法可以将统计信息排除在最小值,最大值,平均值以及所有低于设定值(在这种情况下为0)的值之外?
我尝试过/select?q=*%3A*&wt=json&indent=true&stats=true&stats.field={!min=5000}PRICE&indent=true
,但这似乎并不那么容易。
我看到的数据示例如下
"stats":{
"stats_fields":{
"PRICE":{
"min":0.0,
"max":81977.0,
"count":163,
"missing":0,
"sum":799747.0,
"sumOfSquares":5.9263205819E10,
"mean":4906.423312883436,
"stddev":18482.44220103939
}
}
}
答案 0 :(得分:0)
统计信息组件可处理检索到的文档集,因此,如果您不希望对带有0
的文档进行计数,请仅请求具有较高值的文档:
?q={0 TO *]
这将获取大于0的任何值(因此仍将包含0.00001)。如果实际值从1开始,则可以使用q=[1 TO *]
来包含1({
是排他的范围,而[
是排他的范围)。
您还可以通过fq
应用过滤器来过滤结果集,或者使用JSON Facets来计算一组文档的统计信息。