我在Solr的2个索引中有以下数据(从应用程序代码索引)
我拥有的所有原始数据都是学生级别的。学生可以参加多个班级。问题是学生可以进出课程,而class_id不是发送的学生数据的一部分。
我目前正在查询“学生”分面的聚合。如何查询相同的facet Class ID?
如果我查询班上的所有学生,我会得到我的结果,但我需要循环。另一种解决方案是使用student_ids并在代码中的类级别重新聚合。我想检查一下我是否可以在Solr中使用任何其他解决方案。
(加入Solr是INNER JOINs并且帮助不大)。
是否有可能在插件的帮助下实现这一目标?
说我拥有的数据如下。
student_id, points, activity_date
1, 10, 2017-01-01
1, 10, 2017-01-02
1, 10, 2017-01-03
2, 10, 2017-01-01
2, 10, 2017-01-03
3, 10, 2017-01-02
3, 10, 2017-01-03
3, 20, 2017-01-04
class_id, student_id
11,1
11,2
12,1
12,3
13,2
13,3
当我从1月1日到1月4日的学生询问时,我得到了 student_id,分 1,30 2,20 3,40
http://localhost:8983/solr/development/select?q=*%3A*&fq=type%3AStudent&wt=json&indent=true&stats=true&stats.field=points_i&f.points_i.stats.facet=id_i
这就是我需要的,学生与班级的外部联系。 我从1月1日到1月4日所有课程查询时的示例。
class_id, points
11, 50
12, 60
13, 70
我如何通过class_id
获得此功能