我在Solr核心中为每种记录存储2种数据类型。第一个是每天(total)
的任务总数,第二个是每天完成的任务总数(finished
)。我想使用solr json方面查询来计算每个月完成了多少百分比的任务。像这样:
{
finishedRate : {
type : range,
field : date,
gap : "+1MONTH"
facet: "div(sum(finished),sum(total))"
}
}
但它说
org.apache.solr.search.SyntaxError:未知聚合 agg_div
我测试了以下查询来解决SyntaxError,但它为我提供了每个月一天内完成的最大任务百分比:
{
finishedRate : {
type : range,
field : date,
gap : "+1MONTH"
facet: "max(div(sum(finished),sum(total)))"
}
}
如何实现此查询?
答案 0 :(得分:1)
前一段时间有类似的用例。搜索了Solr官方文档后,我最终放弃了将其划分为查询本身的想法。
我采用了另一种方法,即只计算Solr查询中的两个值,然后处理代码中的除法。
类似的东西-
{
finishedRate : {
type : range,
field : date,
gap : "+1MONTH",
facet : {
"finished tasks" : sum(finished),
"total tasks" : sum(total)
}
}
}