我正在尝试按位置排序。类似的数据和测试在Elasticsearch中正常工作,但在使用ElasticAppSearch(最新8.3版本(时失败。结果应按以下顺序";第2项、第3项、第1项";,相反,它们是按这个顺序";第1项、第2项、第3项";。
请求主体:
{
"query": "",
"sort": {
"location": {
"center": [
0,
14
],
"order": "asc"
}
},
"page": {
"size": 10,
"current": 1
}
}
响应体
{
"meta": {
"alerts": [],
"warnings": [],
"precision": 2,
"engine": {
"name": "test-core-item",
"type": "default"
},
"page": {
"current": 1,
"total_pages": 1,
"total_results": 6,
"size": 10
},
"request_id": "c8f5aaaa71d9f152f203f5effd995031"
},
"results": [
{
"location": {
"raw": "0.0,0.0"
},
"_meta": {
"id": "Item-1",
"engine": "test-core-item",
"score": null
},
"id": {
"raw": "Item-1"
}
},
{
"location": {
"raw": "0.0,10.0"
},
"_meta": {
"id": "Item-2",
"engine": "test-core-item",
"score": null
},
"id": {
"raw": "Item-2"
}
},
{
"location": {
"raw": "0.0,20.0"
},
"_meta": {
"id": "Item-3",
"engine": "test-core-item",
"score": null
},
"id": {
"raw": "Item-3"
}
}
]
}
根据文档,地理位置原始数据可以以不同的方式进行重复,例如"或者作为具有元素[,]的数组(请参阅文档(。请注意,当作为字符串传递时,首先传递纬度,但当作为数组传递时,最先传递经度。
请注意坐标顺序的差异,要么通过
"中心":[14,0]或"中心":"0、14〃;
因此,在上面的例子中,中心应该被传递为[14,0],而不是[0,14]。