SOLR:带sum的范围查询

SOLR:带sum的范围查询,solr,Solr,我有一个示例模式,如: id:1,date:2012-05-01,parent:p1 id:1,date:2012-05-01,parent:p2 id:1,date:2012-05-01,parent:p3 id:1,date:2012-05-02,parent:p1 id:1,date:2012-05-02,parent:p4 我想对“日期”进行范围查询,并了解每天有多少新的/唯一的父项出现。换句话说,我想看看随着时间的推移,有多少新的父母加入了。对于给定数据,输出应如下所示: 2012-

我有一个示例模式,如:

id:1,date:2012-05-01,parent:p1
id:1,date:2012-05-01,parent:p2
id:1,date:2012-05-01,parent:p3
id:1,date:2012-05-02,parent:p1
id:1,date:2012-05-02,parent:p4
我想对“日期”进行范围查询,并了解每天有多少新的/唯一的父项出现。换句话说,我想看看随着时间的推移,有多少新的父母加入了。对于给定数据,输出应如下所示:

2012-04-31:0 (no parents existed an that time)
2012-05-01:3 (because three new parents occured at 2012-05-01: p1,p2,p3) 
2012-05-02:4 (which is 3 parents from 2012-05-01 and 1 new unique parent p4 occured at 2012-05-02 which gives a total of 4)
2012-05-03:4 (no new parent was added this day...)

这种查询在SOLR中可能吗?

是的,如果我正确理解您的问题,这应该相当简单。添加类似于

fq=date:[2012-05-05T00:00:00Z TO 2012-05-06T00:00:00Z]
根据您的查询,我们将为您获取日期在5月5日至5月6日之间的所有文件。确保以ISO 8601格式存储日期

有关更多信息,请查看此处的日期示例:

编辑:我现在更明白你的问题了-你在寻找“群体崩溃”

试一试

并统计返回的文档数

如果希望它们包含每个日期的值,则需要按日期分面:

&facet=true&facet.field=date

此查询将统计给定日期范围内的所有文档。我想计算在该范围内出现了多少新的“parent”值。
&facet=true&facet.field=date