在索尔的刻面田地上

  • 本文关键字:田地 刻面 solr lucene
  • 更新时间 :
  • 英文 :


我有一系列文档,例如:

{
  myTime : <a date_time>,
  myVal : <a number>
}

我想知道该数字的最大小时平均值。因此,基本上,我希望每个小时的水桶的平均值为myVal,然后找到该平均值的最大值。

我尝试使用以下json faceting,但是当然不起作用,抱怨avgMyVal不是一个已知的领域:

json.facet={
  maxAvgMyVal : "max(avgMyVal)",
  tempi: {
    type: range,
    field: myTime,
    start: "NOW-7DAYS",
    end: "NOW",
    gap: "%2B1HOUR",
    facet: {
      avgMyVal: "avg(myVal)"
    }
  }
}

有没有办法让索尔这样做?还是我错过了什么?

使用solr 7.2.1。

可以在一个请求中执行此操作,但是您至少可以使用两个单独的请求(或一个不介意分类的话(执行此操作(。

您可以按照avg函数返回的值对面进行排序,然后检索第一个值:

sort: "avgMyVal desc"

..在您的tempi定义内。如果需要通过tempi中的间隔对结果进行排序,则可以在检索后进行排序以进行显示,或进行两个查询 - 使用limit: 1avgMyVal中检索最大值。

最新更新