今天我想在我的查询中添加基于地理的排序。2我使用弹性(8. 6)企业搜索/应用程序搜索。
我的请求正文:
{
"query": "",
"filters": {
"location": {
"center": "51.071646,6.3195429",
"distance": 500,
"unit": "km"
}
},
"sort": [
{
"_geo_distance": {
"location": [
51.071646,
6.3195429
],
"order": "asc",
"mode": "min",
"distance_type": "plane",
"ignore_unmapped": true
}
}
],
"page": {
"size": 20,
"current": 1
}
}
...我得到以下响应正文:
{
"errors": [
"Sort contains invalid field: _geo_distance"
]
}
我的文档字段 * location * 在模式中设置为 * geolocation 。
有人能给我一点提示吗,我在这里根本做错了什么?
如果没有' sort *'属性,搜索将按预期执行,但我希望在响应中也包含与所请求位置相关的距离。
多谢了!
1条答案
按热度按时间2w3rbyxf1#
对于那些面临类似情况的人,我应用了错误的语法!因为我在 ElasticAppSearch 中,它必须是