0

我在弹性搜索中创建了查询以获得两个以上具有相同名称和哈希的文件。查询是 -

{
  "size": 0,
  "aggregations": {
    "server": {
      "terms": {
        "field": "owner"
      },
      "aggregations": {
        "md5hash": {
          "terms": {
            "field": "md5hash"
          },
          "aggregations": {
            "sFileName": {
              "terms": {
                "field": "sFileName",
                "min_doc_count": 2
              },
              "aggregations": {
                "sourcesum": {
                  "sum": {
                    "field": "sourceSize"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

现在我想从 sourcesum 中减去 doc.["sourceSize"]。我怎样才能在上面的查询中做到这一点。

4

1 回答 1

0

您可以通过使用脚本化指标聚合来做到这一点

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-scripted-metric-aggregation.html

在这里您可以减去 sourceSize 然后执行聚合。

于 2017-04-17T12:44:01.397 回答