2014-08-27 117 views
0

Input and Output DataSolr的查询 - 书面Solr的查询

输入数据(左表)需要帮助包含三列,即日期,维修类型和客户ID。两个右表都是不同时间范围的Solr查询输出示例。

我需要找到属于这些类别之一的客户数 - 1付费服务,2付费服务,3付费服务... n不同日期范围的付费服务。 2样本输出在右侧给出。客户ID也被写在输出附近以便更好地理解,但客户ID不是实际输出的一部分。

Solr查询可以使用日期范围来选择不同月份的行。

如何达到给定的输出。

  1. 我是否需要将派生列添加到将用于此复杂查询的输入数据?
  2. 在这种情况下,Solr UDF会有帮助吗?

回答

0

我不是100%确定你在这里要求什么。示例数据将非常有帮助。

但是,这听起来像您可能能够通过facet和/或facet.pivot来做你正在寻找的东西。您应该能够在您感兴趣的日期范围内运行fq过滤器,然后获取客户/发票或发票/客户的方面支点。

+0

感谢您的回复。我只是在上面进行了编辑,以便更清楚地说明: - “落入这些类别之一的客户的计算数量 - 1个付费服务,2个付费服务,3个付费服务... n不同时间段的付费服务。”上图显示了示例数据。 – 2014-08-27 17:36:36

+0

@RohitSarewar你的数据在Solr中是什么样的? – user2630270 2014-08-27 17:59:18

+0

我已在上述图片中分享了确切的数据。除此之外,我需要了解您要求的是什么1)CSV和Schema.xml中的相同数据 - 以便您可以复制此方案2)显示相同数据的Solr UI的屏幕截图。请回复。 – 2014-08-28 03:44:57

0

我想你可以使用SOLR方面来达到你想要的结果。您可以使用facet.query和facet字段,如

facet.query=date:['Start date' TO 'End Date']&facet.field=customerId 

这会给你类似的结果。

您可以使用facet.limit来限制结果数量。

+0

感谢您的回复。但我们也需要考虑服务类型(付费或免费)。 – 2014-08-28 03:24:07

+0

Rohit,如果我理解你的问题,那么服务类型也可以是facet.query的一部分,就像普通的太阳查询一样。 – Ash 2014-08-28 17:44:19