我有一些特定查询的统计信息,用于计算整个结果集的价格总和。我想在返回的结果中为不同的组提供不同的统计数据。
例如,状态='进行中'的结果的价格总和与状态='完成'的结果的价格总和分开。
使用太阳黑子是否可以这样?
现有查询:
Residential.search do
with(:zip_code, <zip_code>)
stat(:list_price, :type => "min")
stat(:list_price, :type => "max")
stat(:list_price, :type => "mean")
stat(:square_feet, :type => "min")
stat(:square_feet, :type => "max")
stat(:square_feet, :type => "mean")
end
答案 0 :(得分:1)
查看solr Stats Component页面
http://wiki.apache.org/solr/StatsComponent
在那里你可以看到stat组件有可能为facet字段生成一个stat。
这意味着您可以生成像
这样的solr查询q=*:*&stats=true&stats.field=list_price&stats.field=square_feet&stats.facet=status
这将返回全局统计信息以及字段list_price和square_feet的每个状态的统计信息
结果集如下所示:
我假设您使用的是太阳黑子数据库https://github.com/giovannelli/sunspot_stats
并且他们说你的字段之后的参数是方面字段
stat(:your_field, :facet => :your_facet_filed, :type => "min")