Express-cassandra elassandra 按 geo_point 排序
Express-cassandra elassandra sorting by geo_point
我有以下 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
排序应该在正文中定义,这就是问题所在。
我有以下 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
排序应该在正文中定义,这就是问题所在。