我想进行汇总以在索引中找到最小纬度。

post myIndex/_search?pretty=true
{
  "aggs": {
    "min_lat": {
      "min": {
        "field": "latitude"
      }
    }
  }
}

该查询返回所有记录以及最小的纬度。

我希望聚合忽略纬度0或以下(例如南半球)的记录。但是记录本身仍应返回。

我怎么做?那可能吗?

最佳答案

您可以在最小聚合之前使用过滤器聚合。

{
  "aggs": {
    "positive_lat": {
      "filter": { "range": { "latitude" : { "gt": 0 } } },
      "aggs" : {
        "min_lat": {
          "min": {
             "field": "latitude"
          }
        }
      }
    }
  }
}

https://www.elastic.co/guide/en/elasticsearch/reference/6.3/query-dsl-range-query.html
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-aggregations-bucket-filter-aggregation.html

09-11 18:55
查看更多