1

我有一些特定查询的统计信息,这些查询正在计算整个结果集的价格总和。我想在返回的结果中为不同的组提供不同的统计信息。

例如,状态为“进行中”的结果的价格总和与状态为“完成”的结果的价格总和分开。

使用太阳黑子可以做到这样的事情吗?

现有查询:

 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
4

1 回答 1

2

查看 solr Stats Component 页面

http://wiki.apache.org/solr/StatsComponent

在那里您可以看到 stat 组件有可能为 facet 字段生成统计信息。

这意味着您可以生成一个 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

他们说 your_field 之后的参数是 facet 字段

stat(:your_field, :facet => :your_facet_filed, :type => "min")  
于 2013-10-04T07:27:24.703 回答