首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于geo_point的快速卡桑德拉排序

基于geo_point的快速卡桑德拉排序
EN

Stack Overflow用户
提问于 2019-12-12 18:19:01
回答 1查看 68关注 0票数 0

我有以下UDT:

代码语言:javascript
复制
udts: {
  geo_point: {
    lat: 'double',
    lon: 'double'
  }
}

以下是在cassandra模型中定义的geoloc:

代码语言:javascript
复制
geoloc: {
  type: 'frozen',
  typeDef: '<geo_point>'
}

和elasticsearch映射:

代码语言:javascript
复制
    "geoloc": {
        "type": "geo_point",
        cql_collection: 'singleton',
        "index" : true
    },

我可以插入带有geo_point位置的对象,并在elasticsearch中查询它们(它们通常显示为"geoloc":{"lon":34.855744,"lat":31.913353}),我可以在elasticsearch中确认结构是正确的,但每次我尝试按距离排序时,使用:

代码语言:javascript
复制
sort: [{
    "_geo_distance": {
        "geoloc": {
            "lat" : -2.172273,
            "lon" : 43.284734
        },
        "order": "asc",
        // "unit": "km",
        // "distance_type": "plane"
    }
}]

我得到了以下异常:

代码语言:javascript
复制
 No mapping found for [[object Object]] in order to sort on
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-16 00:39:51

Sort应该在body中定义,这就是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59302328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档