我在Solr 7中有很多文档,其架构如下:(简化了数据)。 对于“用户”和“日期”值,我很有可能。
{
"user":"user1",
"date":"2019-01-01T00:00:00Z",
},
{
"user":"user1",
"date":"2019-01-01T01:00:00Z",
},
{
"user":"user2",
"date":"2019-01-02T00:00:00Z",
},
{
"user":"user3",
"date":"2019-01-03T01:00:00Z",
},
我希望查询每天每小时匹配的用户,而不是天,月或年。
预期的查询结果如下:
"00:00:00Z",2
"user1",
"user2"
"01:00:00Z",2
"user1",
"user3"
我尝试使用“ facet.range和facet.range.gap”,但是我不确定它与我的用例是否相关,因为它缺少“按用户分组”和“按小时分组”。 这是我尝试过的:
select?q=*:*&facet=true&facet.range=date&facet.range.start=NOW/DAY-5YEARS&facet.range.end=NOW/DAY&facet.range.gap=%2B1HOUR
哪个给我输出如下(5年每小时1条线):
"facet_counts":{
"facet_queries":{},
"facet_fields":{},
"facet_ranges":{
"date":{
"counts":[
"2014-03-07T00:00:00Z",432,
"2014-03-07T01:00:00Z",832,
"2014-03-07T02:00:00Z",334,
"2014-03-07T03:00:00Z",213,
"2014-03-07T04:00:00Z",614,
...
我担心我的架构中缺少一个仅存储小时数的字段,以便能够按小时计算构面。但是即使那样,我仍无法按小时和用户分组。
我的问题是如何获得上述预期查询结果?