矢量切片搜索 API
编辑矢量切片搜索 API编辑
搜索矢量切片中的地理空间值。以二进制 Mapbox 矢量切片 格式返回结果。
GET my-index/_mvt/my-geo-field/15/5271/12710
先决条件编辑
- 在使用此 API 之前,您应该熟悉 Mapbox 矢量切片规范。
- 如果启用了 Elasticsearch 安全功能,则您必须对目标数据流、索引或别名具有
read
索引权限。有关跨集群搜索,请参阅 远程集群。
路径参数编辑
-
<target>
-
(必填,字符串)要搜索的数据流、索引或别名的逗号分隔列表。支持通配符 (
*
)。要搜索所有数据流和索引,请省略此参数或使用*
或_all
。要搜索远程集群,请使用
<cluster>:<target>
语法。请参阅 跨集群搜索。 -
<field>
-
(必填,字符串)包含要返回的地理空间值的字段。必须是
geo_point
或geo_shape
字段。该字段必须启用 文档值。不能是嵌套字段。矢量切片本身不支持几何图形集合。对于
geo_shape
字段中的geometrycollection
值,API 会为集合中的每个元素返回一个hits
图层要素。此行为在未来版本中可能会更改。 -
<zoom>
- (必填,整数)要搜索的矢量切片的缩放级别。接受
0
-29
。 -
<x>
- (必填,整数)要搜索的矢量切片的 X 坐标。
-
<y>
- (必填,整数)要搜索的矢量切片的 Y 坐标。
描述编辑
在内部,Elasticsearch 会将矢量切片搜索 API 请求转换为包含以下内容的 搜索
- 对
<field>
进行geo_bounding_box
查询。该查询使用<zoom>/<x>/<y>
切片作为边界框。 - 对
<field>
进行geotile_grid
或geohex_grid
聚合。grid_agg
参数确定聚合类型。该聚合使用<zoom>/<x>/<y>
切片作为边界框。 - (可选)对
<field>
进行geo_bounds
聚合。仅当exact_bounds
参数为true
时,搜索才包含此聚合。 - 如果可选参数
with_labels
为 true,则内部搜索将包含一个动态运行时字段,该字段调用几何图形文档值的getLabelPosition
函数。这将启用生成包含建议几何图形标签的新点要素,例如,多边形将只有一个标签。
例如,Elasticsearch 可以将 grid_agg
参数为 geotile
且 exact_bounds
参数为 true
的矢量切片搜索 API 请求转换为以下搜索
GET my-index/_search { "size": 10000, "query": { "geo_bounding_box": { "my-geo-field": { "top_left": { "lat": -40.979898069620134, "lon": -45 }, "bottom_right": { "lat": -66.51326044311186, "lon": 0 } } } }, "aggregations": { "grid": { "geotile_grid": { "field": "my-geo-field", "precision": 11, "size": 65536, "bounds": { "top_left": { "lat": -40.979898069620134, "lon": -45 }, "bottom_right": { "lat": -66.51326044311186, "lon": 0 } } } }, "bounds": { "geo_bounds": { "field": "my-geo-field", "wrap_longitude": false } } } }
API 以二进制 Mapbox 矢量切片 格式返回结果。Mapbox 矢量切片编码为 Google Protobufs (PBF)。默认情况下,切片包含三个图层
- 一个
hits
图层,其中包含与geo_bounding_box
查询匹配的每个<field>
值的要素。 - 一个
aggs
图层,其中包含geotile_grid
或geohex_grid
中每个单元格的要素。该图层仅包含具有匹配数据的单元格的要素。 -
一个
meta
图层,其中包含- 一个包含边界框的要素。默认情况下,这是切片的边界框。
geotile_grid
或geohex_grid
上任何子聚合的值范围。- 搜索的元数据。
API 仅返回可以在其缩放级别显示的要素。例如,如果多边形要素在其缩放级别没有面积,则 API 会将其省略。
API 以 UTF-8 编码的 JSON 格式返回错误。
查询参数编辑
您可以为此 API 指定多个选项,作为查询参数或请求正文参数。如果同时指定了这两个参数,则查询参数优先。
-
exact_bounds
-
(可选,布尔值)如果为
false
,则meta
图层的要素是切片的边界框。默认为false
。如果为
true
,则meta
图层的要素是由geo_bounds
聚合产生的边界框。该聚合在与<zoom>/<x>/<y>
切片相交且wrap_longitude
设置为false
的<field>
值上运行。生成的边界框可能大于矢量切片。
-
extent
- (可选,整数)切片一侧的大小(以像素为单位)。矢量切片是边长相等的正方形。默认为
4096
。
-
buffer
- (可选,整数)切片外部裁剪缓冲区的大小(以像素为单位)。这允许渲染器避免来自超出切片范围的几何图形的轮廓伪影。默认为
5
。
-
grid_agg
-
(可选,字符串)用于为
<field>
创建网格的聚合。grid_agg
的有效值-
geotile
(默认) -
geotile_grid
聚合。 -
geohex
-
geohex_grid
聚合。
-
-
grid_precision
-
(可选,整数)
grid_agg
中单元格的精度级别。接受0
-8
。默认为8
。如果为0
,则结果不包含aggs
图层。geotile
的网格精度对于
geotile
的grid_agg
,您可以使用aggs
图层中的单元格作为较低缩放级别的切片。grid_precision
表示通过这些单元格可用的附加缩放级别。最终精度计算如下<zoom> + grid_precision
例如,如果
<zoom>
为7
且grid_precision
为8
,则geotile_grid
聚合将使用15
的精度。最大最终精度为29
。grid_precision
还确定网格的单元格数量,如下所示(2^grid_precision) x (2^grid_precision)
例如,值为
8
会将切片划分为 256 x 256 个单元格的网格。aggs
图层仅包含具有匹配数据的单元格的要素。geohex
的网格精度对于
geohex
的grid_agg
,Elasticsearch 使用<zoom>
和grid_precision
来计算最终精度,如下所示<zoom> + grid_precision
此精度确定由
geohex
聚合生成的 六边形单元格的 H3 分辨率。下表列出了每个精度的 H3 分辨率。例如,如果
<zoom>
为3
且grid_precision
为3
,则精度为6
。在精度为6
时,六边形单元格的 H3 分辨率为2
。如果<zoom>
为3
且grid_precision
为4
,则精度为7
。在精度为7
时,六边形单元格的 H3 分辨率为3
。精度 唯一切片箱数 H3 分辨率 唯一六边形箱数 比率 1
4
0
122
30.5
2
16
0
122
7.625
3
64
1
842
13.15625
4
256
1
842
3.2890625
5
1024
2
5882
5.744140625
6
4096
2
5882
1.436035156
7
16384
3
41162
2.512329102
8
65536
3
41162
0.6280822754
9
262144
4
288122
1.099098206
10
1048576
4
288122
0.2747745514
11
4194304
5
2016842
0.4808526039
12
16777216
6
14117882
0.8414913416
13
67108864
6
14117882
0.2103728354
14
268435456
7
98825162
0.3681524172
15
1073741824
8
691776122
0.644266719
16
4294967296
8
691776122
0.1610666797
17
17179869184
9
4842432842
0.2818666889
18
68719476736
10
33897029882
0.4932667053
19
274877906944
11
237279209162
0.8632167343
20
1099511627776
11
237279209162
0.2158041836
21
4398046511104
12
1660954464122
0.3776573213
22
17592186044416
13
11626681248842
0.6609003122
23
70368744177664
13
11626681248842
0.165225078
24
281474976710656
14
81386768741882
0.2891438866
25
1125899906842620
15
569707381193162
0.5060018015
26
4503599627370500
15
569707381193162
0.1265004504
27
18014398509482000
15
569707381193162
0.03162511259
28
72057594037927900
15
569707381193162
0.007906278149
29
288230376151712000
15
569707381193162
0.001976569537
六边形单元格在矢量切片上不能完美对齐。某些单元格可能与多个矢量切片相交。为了计算每个精度的 H3 分辨率,Elasticsearch 会将每个分辨率下六边形箱的平均密度与每个缩放级别下切片箱的平均密度进行比较。Elasticsearch 使用最接近相应
geotile
密度的 H3 分辨率。
-
grid_type
-
(可选,字符串)确定
aggs
图层中要素的几何图形类型。在aggs
图层中,每个要素代表网格中的一个单元格。grid_type
的有效值-
grid
(默认) - 每个要素都是单元格几何图形的
Polygon
。对于geotile
的grid_agg
,该要素是单元格的边界框。对于geohex
的grid_agg
,该要素是六边形单元格的边界。 -
point
- 每个要素都是单元格质心的
Point
。 -
centroid
- 每个要素都是单元格内数据质心的
Point
。对于复杂的几何图形,实际质心可能位于单元格外部。在这些情况下,该要素将设置为单元格内最接近质心的点。
-
-
size
- (可选,整数)要在
hits
图层中返回的最大要素数。接受0
-10000
。默认为10000
。如果为0
,则结果不包含hits
图层。
-
track_total_hits
-
(可选,整数或布尔值)要精确计数的与查询匹配的命中数。默认为
10000
。如果为
true
,则会返回确切的匹配数,但会牺牲一些性能。如果为false
,则响应中不包含与查询匹配的总数。
请求正文编辑
-
aggs
-
(可选,聚合对象)
grid_agg
的 子聚合。支持以下聚合类型-
avg
-
boxplot
-
cardinality
-
extended stats
-
max
-
median absolute deviation
-
min
-
percentile
-
percentile-rank
-
stats
-
sum
-
聚合名称不能以
_mvt_
开头。_mvt_
前缀是为内部聚合保留的。
-
-
exact_bounds
-
(可选,布尔值)如果为
false
,则meta
图层的要素是切片的边界框。默认为false
。如果为
true
,则meta
图层的要素是由geo_bounds
聚合产生的边界框。该聚合在与<zoom>/<x>/<y>
切片相交且wrap_longitude
设置为false
的<field>
值上运行。生成的边界框可能大于矢量切片。 -
extent
- (可选,整数)切片一侧的大小(以像素为单位)。矢量切片是边长相等的正方形。默认为
4096
。 -
buffer
- (可选,整数)切片外部裁剪缓冲区的大小(以像素为单位)。这允许渲染器避免来自超出切片范围的几何图形的轮廓伪影。默认为
5
。 -
fields
-
(可选,字符串和对象数组)要在
hits
层中返回的字段。支持通配符 (*
)。此参数不支持具有 数组值 的字段。具有数组值的字段可能会返回不一致的结果。
您可以将数组中的字段指定为字符串或对象。
fields
对象的属性-
field
- (必填,字符串)要返回的字段。支持通配符 (
*
)。 -
format
-
(可选,字符串)日期和地理空间字段的格式。其他字段数据类型不支持此参数。
date
和date_nanos
字段接受 日期格式。geo_point
和geo_shape
字段接受-
geojson
(默认) - GeoJSON
-
wkt
- 众所周知的文本
-
mvt(<spec>)
-
二进制 Mapbox 矢量切片。API 将切片作为 base64 编码的字符串返回。
<spec>
的格式为<zoom>/<x>/<y>
,带有两个可选的后缀:@<extent>
和/或:<buffer>
。例如,2/0/1
或2/0/1@4096:5
。mvt
参数-
<zoom>
- (必填,整数)切片的缩放级别。接受
0
-29
。 -
<x>
- (必填,整数)切片的 X 坐标。
-
<y>
- (必填,整数)切片的 Y 坐标。
-
<extent>
- (可选,整数)切片一侧的大小(以像素为单位)。矢量切片是边长相等的正方形。默认为
4096
。 -
<buffer>
- (可选,整数)切片外部裁剪缓冲区的大小(以像素为单位)。这允许渲染器避免来自超出切片范围的几何图形的轮廓伪影。默认为
5
。
-
-
-
-
grid_agg
-
(可选,字符串)用于为
<field>
创建网格的聚合。grid_agg
的有效值-
geotile
(默认) -
geotile_grid
聚合。 -
geohex
-
geohex_grid
聚合。
-
-
grid_precision
-
(可选,整数)
grid_agg
中单元格的精度级别。接受0
-8
。默认为8
。如果为0
,则结果不包含aggs
图层。geotile
的网格精度对于
geotile
的grid_agg
,您可以使用aggs
图层中的单元格作为较低缩放级别的切片。grid_precision
表示通过这些单元格可用的附加缩放级别。最终精度计算如下<zoom> + grid_precision
例如,如果
<zoom>
为7
且grid_precision
为8
,则geotile_grid
聚合将使用15
的精度。最大最终精度为29
。grid_precision
还确定网格的单元格数量,如下所示(2^grid_precision) x (2^grid_precision)
例如,值为
8
会将切片划分为 256 x 256 个单元格的网格。aggs
图层仅包含具有匹配数据的单元格的要素。geohex
的网格精度对于
geohex
的grid_agg
,Elasticsearch 使用<zoom>
和grid_precision
来计算最终精度,如下所示<zoom> + grid_precision
此精度确定由
geohex
聚合生成的 六边形单元格的 H3 分辨率。下表列出了每个精度的 H3 分辨率。例如,如果
<zoom>
为3
且grid_precision
为3
,则精度为6
。在精度为6
时,六边形单元格的 H3 分辨率为2
。如果<zoom>
为3
且grid_precision
为4
,则精度为7
。在精度为7
时,六边形单元格的 H3 分辨率为3
。精度 唯一切片箱数 H3 分辨率 唯一六边形箱数 比率 1
4
0
122
30.5
2
16
0
122
7.625
3
64
1
842
13.15625
4
256
1
842
3.2890625
5
1024
2
5882
5.744140625
6
4096
2
5882
1.436035156
7
16384
3
41162
2.512329102
8
65536
3
41162
0.6280822754
9
262144
4
288122
1.099098206
10
1048576
4
288122
0.2747745514
11
4194304
5
2016842
0.4808526039
12
16777216
6
14117882
0.8414913416
13
67108864
6
14117882
0.2103728354
14
268435456
7
98825162
0.3681524172
15
1073741824
8
691776122
0.644266719
16
4294967296
8
691776122
0.1610666797
17
17179869184
9
4842432842
0.2818666889
18
68719476736
10
33897029882
0.4932667053
19
274877906944
11
237279209162
0.8632167343
20
1099511627776
11
237279209162
0.2158041836
21
4398046511104
12
1660954464122
0.3776573213
22
17592186044416
13
11626681248842
0.6609003122
23
70368744177664
13
11626681248842
0.165225078
24
281474976710656
14
81386768741882
0.2891438866
25
1125899906842620
15
569707381193162
0.5060018015
26
4503599627370500
15
569707381193162
0.1265004504
27
18014398509482000
15
569707381193162
0.03162511259
28
72057594037927900
15
569707381193162
0.007906278149
29
288230376151712000
15
569707381193162
0.001976569537
六边形单元格在矢量切片上不能完美对齐。某些单元格可能与多个矢量切片相交。为了计算每个精度的 H3 分辨率,Elasticsearch 会将每个分辨率下六边形箱的平均密度与每个缩放级别下切片箱的平均密度进行比较。Elasticsearch 使用最接近相应
geotile
密度的 H3 分辨率。 -
grid_type
-
(可选,字符串)确定
aggs
图层中要素的几何图形类型。在aggs
图层中,每个要素代表网格中的一个单元格。grid_type
的有效值-
grid
(默认) - 每个要素都是单元格几何图形的
Polygon
。对于geotile
的grid_agg
,该要素是单元格的边界框。对于geohex
的grid_agg
,该要素是六边形单元格的边界。 -
point
- 每个要素都是单元格质心的
Point
。 -
centroid
- 每个要素都是单元格内数据质心的
Point
。对于复杂的几何图形,实际质心可能位于单元格外部。在这些情况下,该要素将设置为单元格内最接近质心的点。
-
-
query
- (可选,对象)用于过滤搜索文档的 查询 DSL。
-
runtime_mappings
-
(可选,对象的对象)在搜索请求中定义一个或多个 运行时字段。这些字段优先于具有相同名称的映射字段。
runtime_mappings
对象的属性-
<field-name>
-
(必填,对象)运行时字段的配置。键是字段名称。
<field-name>
的属性-
type
-
(必填,字符串)字段类型,可以是以下任意一种
-
boolean
-
composite
-
date
-
double
-
geo_point
-
ip
-
keyword
-
long
-
lookup
-
-
script
-
(可选,字符串)在查询时执行的 Painless 脚本。该脚本可以访问文档的整个上下文,包括原始
_source
和任何映射字段及其值。此脚本必须包含
emit
以返回计算值。例如"script": "emit(doc['@timestamp'].value.dayOfWeekEnum.toString())"
-
-
-
size
- (可选,整数)要在
hits
图层中返回的最大要素数。接受0
-10000
。默认为10000
。如果为0
,则结果不包含hits
图层。 -
sort
-
(可选,排序对象 数组)对
hits
层中的要素进行排序。默认情况下,API 会为每个要素计算一个边界框。它根据此框的对角线长度对要素进行排序,从最长到最短。
-
track_total_hits
-
(可选,整数或布尔值)要精确计数的与查询匹配的命中数。默认为
10000
。如果为
true
,则会返回确切的匹配数,但会牺牲一些性能。如果为false
,则响应中不包含与查询匹配的总数。 -
with_labels
-
(可选,布尔值)如果为 true,则 hits 和 aggs 层将包含额外的点要素,表示原始要素的建议标签位置。
原始要素的所有属性也将复制到新的标签要素。此外,可以使用标签
_mvt_label_position
区分新要素。
响应编辑
返回的矢量切片包含以下数据
-
hits
-
(对象)包含
geo_bounding_box
查询结果的图层。hits
的属性-
extent
- (整数)切片一侧的大小(以像素为单位)。矢量切片是正方形,边长相等。
-
version
- (整数)Mapbox 矢量切片规范 的主版本号。
-
features
-
(对象数组)要素数组。包含与
geo_bounding_box
查询匹配的每个<field>
值的要素。features
对象的属性-
geometry
-
(对象)要素的几何图形。
geometry
的属性-
type
-
(字符串)要素的几何类型。有效值为
-
UNKNOWN
-
POINT
-
LINESTRING
-
POLYGON
-
-
coordinates
- (整数数组或数组数组)要素的切片坐标。
-
-
properties
-
(对象)要素的属性。
properties
的属性-
_id
- (字符串)要素文档的文档
_id
。 -
_index
- (字符串)要素文档的索引名称。
-
<field>
- 字段值。仅针对
fields
参数中的字段返回。
-
-
type
-
(整数)要素几何类型的标识符。值为
-
1
(POINT
) -
2
(LINESTRING
) -
3
(POLYGON
)
-
-
-
-
aggs
-
(对象)包含
grid_agg
聚合及其子聚合结果的图层。aggs
的属性-
extent
- (整数)切片一侧的大小(以像素为单位)。矢量切片是正方形,边长相等。
-
version
- (整数)Mapbox 矢量切片规范 的主版本号。
-
features
-
(对象数组)要素数组。包含网格中每个单元格的要素。
features
对象的属性-
geometry
-
(对象)要素的几何图形。
geometry
的属性-
type
-
(字符串)要素的几何类型。有效值为
-
UNKNOWN
-
POINT
-
LINESTRING
-
POLYGON
-
-
coordinates
- (整数数组或数组数组)要素的切片坐标。
-
-
properties
-
(对象)要素的属性。
properties
的属性-
_count
- (长整型)单元格中文档的数量。
-
_key
- (字符串)单元格的存储桶键,格式为
<zoom>/<x>/<y>
。 -
<sub-aggregation>.value
- 单元格的子聚合结果。仅针对
aggs
参数中的子聚合返回。
-
-
type
-
(整数)要素几何类型的标识符。值为
-
1
(POINT
) -
2
(LINESTRING
) -
3
(POLYGON
)
-
-
-
-
meta
-
(对象)包含请求元数据的图层。
meta
的属性-
extent
- (整数)切片一侧的大小(以像素为单位)。矢量切片是正方形,边长相等。
-
version
- (整数)Mapbox 矢量切片规范 的主版本号。
-
features
-
(对象数组)包含边界框的要素。
features
对象的属性-
geometry
-
(对象)要素的几何图形。
geometry
的属性-
type
-
(字符串)要素的几何类型。有效值为
-
UNKNOWN
-
POINT
-
LINESTRING
-
POLYGON
-
-
coordinates
- (整数数组或数组数组)要素的切片坐标。
-
-
properties
-
(对象)要素的属性。
properties
的属性-
_shards.failed
- (整数)未能执行搜索的分片数。请参阅搜索 API 的
shards
响应属性。 -
_shards.skipped
- (整数)跳过搜索的分片数。请参阅搜索 API 的
shards
响应属性。 -
_shards.successful
- (整数)成功执行搜索的分片数。请参阅搜索 API 的
shards
响应属性。 -
_shards.total
- (整数)需要查询的分片总数,包括未分配的分片。请参阅搜索 API 的
shards
响应属性。 -
aggregations._count.avg
- (浮点数)
aggs
层中要素的平均_count
值。 -
aggregations._count.count
- (整数)
aggs
层中要素的唯一_count
值的数量。 -
aggregations._count.max
- (浮点数)
aggs
层中要素的最大_count
值。 -
aggregations._count.min
- (浮点数)
aggs
层中要素的最小_count
值。 -
aggregations._count.sum
- (浮点数)
aggs
层中要素的_count
值的总和。 -
aggregations.<sub-aggregation>.avg
- (浮点数)子聚合结果的平均值。
-
aggregations.<agg_name>.count
- (整数)子聚合结果中唯一值的数量。
-
aggregations.<agg_name>.max
- (浮点数)子聚合结果中的最大值。
-
aggregations.<agg_name>.min
- (浮点数)子聚合结果中的最小值。
-
aggregations.<agg_name>.sum
- (浮点数)子聚合结果中值的总和。
-
hits.max_score
- (浮点数)搜索结果中最高的文档
_score
。 -
hits.total.relation
-
(字符串)指示
hits.total.value
是准确值还是下限。可能的值为-
eq
- 准确值
-
gte
- 下限
-
-
hits.total.value
- (整数)搜索结果的总数。
-
timed_out
- (布尔值)如果为
true
,则表示搜索在完成之前超时。结果可能不完整或为空。 -
took
- (整数)Elasticsearch 执行搜索所花费的毫秒数。请参阅搜索 API 的
took
响应属性。
-
-
type
-
(整数)要素几何类型的标识符。值为
-
1
(POINT
) -
2
(LINESTRING
) -
3
(POLYGON
)
-
-
-
示例编辑
以下请求创建 museum
索引并添加多个地理空间 location
值。
response = client.indices.create( index: 'museums', body: { mappings: { properties: { location: { type: 'geo_point' }, name: { type: 'keyword' }, price: { type: 'long' }, included: { type: 'boolean' } } } } ) puts response response = client.bulk( index: 'museums', refresh: true, body: [ { index: { _id: '1' } }, { location: 'POINT (4.912350 52.374081)', name: 'NEMO Science Museum', price: 1750, included: true }, { index: { _id: '2' } }, { location: 'POINT (4.901618 52.369219)', name: 'Museum Het Rembrandthuis', price: 1500, included: false }, { index: { _id: '3' } }, { location: 'POINT (4.914722 52.371667)', name: 'Nederlands Scheepvaartmuseum', price: 1650, included: true }, { index: { _id: '4' } }, { location: 'POINT (4.914722 52.371667)', name: 'Amsterdam Centre for Architecture', price: 0, included: true } ] ) puts response
PUT museums { "mappings": { "properties": { "location": { "type": "geo_point" }, "name": { "type": "keyword" }, "price": { "type": "long" }, "included": { "type": "boolean" } } } } POST museums/_bulk?refresh { "index": { "_id": "1" } } { "location": "POINT (4.912350 52.374081)", "name": "NEMO Science Museum", "price": 1750, "included": true } { "index": { "_id": "2" } } { "location": "POINT (4.901618 52.369219)", "name": "Museum Het Rembrandthuis", "price": 1500, "included": false } { "index": { "_id": "3" } } { "location": "POINT (4.914722 52.371667)", "name": "Nederlands Scheepvaartmuseum", "price":1650, "included": true } { "index": { "_id": "4" } } { "location": "POINT (4.914722 52.371667)", "name": "Amsterdam Centre for Architecture", "price":0, "included": true }
以下请求在索引中搜索与 13/4207/2692
矢量切片相交的 location
值。
GET museums/_mvt/location/13/4207/2692 { "grid_agg": "geotile", "grid_precision": 2, "fields": [ "name", "price" ], "query": { "term": { "included": true } }, "aggs": { "min_price": { "min": { "field": "price" } }, "max_price": { "max": { "field": "price" } }, "avg_price": { "avg": { "field": "price" } } } }
API 以二进制矢量切片的格式返回结果。当解码为 JSON 时,切片包含以下数据
{ "hits": { "extent": 4096, "version": 2, "features": [ { "geometry": { "type": "Point", "coordinates": [ 3208, 3864 ] }, "properties": { "_id": "1", "_index": "museums", "name": "NEMO Science Museum", "price": 1750 }, "type": 1 }, { "geometry": { "type": "Point", "coordinates": [ 3429, 3496 ] }, "properties": { "_id": "3", "_index": "museums", "name": "Nederlands Scheepvaartmuseum", "price": 1650 }, "type": 1 }, { "geometry": { "type": "Point", "coordinates": [ 3429, 3496 ] }, "properties": { "_id": "4", "_index": "museums", "name": "Amsterdam Centre for Architecture", "price": 0 }, "type": 1 } ] }, "aggs": { "extent": 4096, "version": 2, "features": [ { "geometry": { "type": "Polygon", "coordinates": [ [ [ 3072, 3072 ], [ 4096, 3072 ], [ 4096, 4096 ], [ 3072, 4096 ], [ 3072, 3072 ] ] ] }, "properties": { "_count": 3, "max_price.value": 1750.0, "min_price.value": 0.0, "avg_price.value": 1133.3333333333333 }, "type": 3 } ] }, "meta": { "extent": 4096, "version": 2, "features": [ { "geometry": { "type": "Polygon", "coordinates": [ [ [ 0, 0 ], [ 4096, 0 ], [ 4096, 4096 ], [ 0, 4096 ], [ 0, 0 ] ] ] }, "properties": { "_shards.failed": 0, "_shards.skipped": 0, "_shards.successful": 1, "_shards.total": 1, "aggregations._count.avg": 3.0, "aggregations._count.count": 1, "aggregations._count.max": 3.0, "aggregations._count.min": 3.0, "aggregations._count.sum": 3.0, "aggregations.avg_price.avg": 1133.3333333333333, "aggregations.avg_price.count": 1, "aggregations.avg_price.max": 1133.3333333333333, "aggregations.avg_price.min": 1133.3333333333333, "aggregations.avg_price.sum": 1133.3333333333333, "aggregations.max_price.avg": 1750.0, "aggregations.max_price.count": 1, "aggregations.max_price.max": 1750.0, "aggregations.max_price.min": 1750.0, "aggregations.max_price.sum": 1750.0, "aggregations.min_price.avg": 0.0, "aggregations.min_price.count": 1, "aggregations.min_price.max": 0.0, "aggregations.min_price.min": 0.0, "aggregations.min_price.sum": 0.0, "hits.max_score": 0.0, "hits.total.relation": "eq", "hits.total.value": 3, "timed_out": false, "took": 2 }, "type": 3 } ] } }