我有以下UDT:
udts: {
geo_point: {
lat: 'double',
lon: 'double'
}
}
cassandra模型中定义的以下geoloc:
geoloc: {
type: 'frozen',
typeDef: '<geo_point>'
}
和elasticsearch映射:
"geoloc": {
"type": "geo_point",
cql_collection: 'singleton',
"index" : true
},
我可以插入具有geo_point位置的对象并在elasticsearch中查询它们(它们通常显示为
"geoloc":{"lon":34.855744,"lat":31.913353}
),我可以确认该结构在elasticsearch中是正确的,但是每次尝试使用以下距离进行排序时:sort: [{
"_geo_distance": {
"geoloc": {
"lat" : -2.172273,
"lon" : 43.284734
},
"order": "asc",
// "unit": "km",
// "distance_type": "plane"
}
}]
我得到以下异常:
No mapping found for [[object Object]] in order to sort on
最佳答案
应该在主体内部定义排序,这就是问题所在。