我正在尝试计算从弹性搜索返回位置的结果集的平均值。这是我正在尝试的。
'aggs' => [
"avg_location" => [
'avg' => [
'field' => 'location'
]
]
]
这会返回错误,因为位置本身就是一个返回该点[lat,long]的对象/数组。我需要计算所有返回点数的平均值。
我该怎么做?我尝试了很多东西,但没有一个能奏效。
以下是整个代码。
$json = [
'query' => [
'bool' => [
'must_not' => [
'terms' => ['rarity' => []],
],
'must' => [
'range' => [
'disappearTime' => [
'gte' => 'now',
'lte' => 'now+1d'
]
]
],
'filter' => [
[
'geo_bounding_box' => [
'location' => [
'top_left' => [
'lat' => $northWestLat,
'lon' => $northWestLng
],
'bottom_right' => [
'lat' => $southEastLat,
'lon' => $southEastLng
]
]
]
]
]
]
],
'aggs' => [
"avg_location" => [
'avg' => [
'field' => 'location'
]
]
]
];
由于