具有聚合字段的分组记录

时间:2016-11-09 17:16:59

标签: solr lucene

我正在运行Solr 6.2的实例。我正在探索的一个用例是返回按字段分组的记录,包括求和列(facet)并按这些列排序。我意识到Solr并不打算用作关系数据库,但这可能吗?

使用JSON API,我将以下数据有效负载发送到我的Solr实例的query端点:

{
  query: "*:*",
  filter: ["status:1", "date:[2016-10-11T00:00:00Z-7DAYS/DAY TO 2016-10-11T00:00:00Z]"],
  limit: 10,
  params: {
    group: true,
    group.field: name,
    group.facet: true
  },
  facet: {
    funcs: {
      type: terms,
      field: name,
      sort: { sum_v1: desc },
      limit: 10,
      facet: {
        sum_v1: "sum(v1)",
        sum_v2: "sum(v2)",
        sum_v3: "sum(v3)"
      }
    }
  }

这会在响应JSON的groups键和facets键中一次返回10条记录。但是,已排序的构面块与分组的记录不匹配。如何将相关的小组计算在一起?

我能想到的唯一解决方法是首先查询分组记录,然后使用该查询中的id进行另一个查询以获取构面计数。然而,缺点是我失去了按任何方面计数排序或过滤的能力。

0 个答案:

没有答案