我有一个用例,我需要从facet过滤聚合值。
facet过滤器允许这样做吗?
例:获取大于0分组的数字字段的总和…
好吧,我们之前遇到过类似的任务,我想说Solr无法过滤计算出的值。你可以通过设置limit等于-1来获取所有方面,然后你需要在搜索应用程序上编写一些包装器(WEB API),它将过滤方面列表。
json.facet={cty:{type:terms,field:country,limit:-1,facet:{sum_value:”sum(population)”}}}
或者,您可以在编制索引之前预先计算每个国家/地区的人口总和。请看下表。
|国家|人口| Total_Population |
| C1 | 12 | 25 | | C1 | 13 | 25 | | C2 | 14 | 49 | | C2 | 35 | 49 |
稍后,您可以使用过滤器查询直接过滤Total_Population字段。此外,您将通过不实时聚合来节省大量时间。