如何使用 solr 中不同字段的间隔计算字段的值总和?

how compute sum of value for a field using intervals of different field in solr?

我有多个格式如下的solr文档

{ requests : [23], timestamp : [1562146437780] }

我必须以时间戳为间隔获取请求总和。

我尝试使用构面,但无法弄清楚如何在两个字段上使用

我试过了。但在时间戳间隔内给了我文档数。

 query.addNumericRangeFacet(TIMESTAMP, startTime, endTime, gap);

提前致谢

您可以使用 the JSON facet API for range facets 来实现。这些将允许您从上面的方面提供一个与域(即存储桶中的文档)一起工作的子方面。

您首先创建一个范围分面:

RangeFacetMap rangeFacet = new RangeFacetMap(TIMESTAMP, startTime, endTime, gap);

然后添加一个调用总和的子方面:

rangeFacet.withStatSubFacet("requests_sum", "sum(requests)")

您使用以下方式向 Solr 发送此请求:

final JsonQueryRequest request = new JsonQueryRequest()
    .setQuery("*:*")
    .withFacet("timestamps", rangeFacet);
QueryResponse queryResponse = request.process(solrClient, COLLECTION_NAME);

我现在没有要测试的实例或文档,但这是根据参考指南中 Nester Facet Example 下的信息构建的。