【问题标题】:ElasticSearch Finding the Total Length in a Cardinality QueryElasticSearch 在基数查询中查找总长度
【发布时间】:2017-06-14 15:09:29
【问题描述】:

我正在使用 ElasticSearch 并试图找到所有独特的作者。以及所有唯一作者的总长度。

例如,

作者:“威廉姆斯” 长度:100

作者“克林特” 长度:200

作者“罗恩” 长度:100

作者:“威廉姆斯” 长度:200

我希望 Unique Authors 2 和总长度为 300。

我试过下面的代码;

"size": 0,
   "aggs": {
      "red_products": {
         "cardinality": {
            "field": "author"
         },
         "aggs": {
            "total": {
               "sum": {
                  "field": "length"
               }
            }
         }
      }
   }
}

但我收到一条错误消息,指出 [cardinality] 类型的聚合器 [red_products] 不能接受子聚合。

我先尝试总长度,然后是唯一作者,它给了我正确的唯一作者,但给了我每本书的总长度。

有什么想法吗?

【问题讨论】:

    标签: elasticsearch cardinality sense


    【解决方案1】:

    我想你可以试试这个:

    "aggs": {
      "2": {
        "terms": {
          "field": "author",
          "size": 5,
          "order": {
            "1": "desc"
          }
        },
        "aggs": {
          "1": {
            "sum": {
              "field": "length"
            }
          }
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多