与abs()的Solr聚合

时间:2015-12-28 11:28:20

标签: solr

我有一个包含以下字段的solr架构

<field name="company" type="double" indexed="true" stored="true" multiValued="false"/>
<field name="profit_amount" type="double" indexed="true" stored="true" multiValued="false"/>

我正在进行stats-facet查询以汇总“company”字段中的“profit_amount”字段。

对于我的一个用例,我只需要汇总“profit_amount”字段的负值。所以我使用过滤器查询为fq=profit_amount[* TO 0],我的json.facet为{"profit_amount-company":{"terms":{"field":"company","limit":10000,"mincount":1,"facet":{"profit_amount":{"query":{"q":"profit_amount:[* TO *]","facet":{"sum":"sum(profit_amount)"}}}}}}}

由于我的所有profit_amount都是负数,因此我为每家公司分配负数。我的要求是我希望将值返回为正数,如何在Solr中使用abs()函数来实现相同的目标。

1 个答案:

答案 0 :(得分:1)

您可以将功能组合为shown in Yonik's examplessum(abs(profit_amount)),因为构面功能应该有效。