Solr-按日期字段中的小时和字段分组

时间:2019-03-07 07:51:38

标签: date solr field

我在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,
          ...

我担心我的架构中缺少一个仅存储小时数的字段,以便能够按小时计算构面。但是即使那样,我仍无法按小时和用户分组。

我的问题是如何获得上述预期查询结果?

0 个答案:

没有答案