Solr获取聚合函数的计数
如果有用户和目标的Solr数据Solr获取聚合函数的计数,solr,aggregate,facet,Solr,Aggregate,Facet,如果有用户和目标的Solr数据 {user_id: user1,goals: 1} {user_id: user1,goals: 3} {user_id: user2,goals: 0} {user_id: user2,goals: 4} {user_id: user3,goals: 2} {user_id: user3,goals: 1} 我想知道有多少用户得了1分,2分,3分。。。目标总数 因此,对于上面的数据,我需要一个可以返回的查询 {goals: 3, count: 1} {goal
{user_id: user1,goals: 1}
{user_id: user1,goals: 3}
{user_id: user2,goals: 0}
{user_id: user2,goals: 4}
{user_id: user3,goals: 2}
{user_id: user3,goals: 1}
我想知道有多少用户得了1分,2分,3分。。。目标总数
因此,对于上面的数据,我需要一个可以返回的查询
{goals: 3, count: 1}
{goals: 4, count: 2}
到目前为止,我有一个查询,可以返回每个用户的目标总数,但不确定是否可以在总数上分面
我的问题到目前为止
{
"user_facet":
{
"type":"terms",
"field":"user_id",
"facet":
{
"sum_of_goals":"sum(goals)"
}
}
}
我认为json方面无法实现这一点。但可以肯定的是,这是有可能的。刚开始的时候它们有点复杂,但你可以完成更多的事情。你能重新措辞吗?这个示例很难理解,似乎与我的数据不匹配…基本上有两个阶段,每个用户的目标总计,因此用户1=4,用户2=4,用户3=3个目标。然后我想数一数得分为3个目标=1,4个目标=2的用户数,{user_id:user1,goals:1}是什么意思,user1已经完成了目标1,该user1总共完成了1个目标它意味着用户1在记录所代表的时间段内总共有1个目标,例如在第1周用户1实现了1个目标,在第2周用户1实现了3个目标,总的来说,用户1实现了4个目标,我想要一个查询,可以告诉有多少用户实现了每一个目标。谢谢,现在我使用这个查询来获取每个用户的总数,并用Ruby处理结果,以计算我需要的数据,但我将研究流式表达式