是否可以在 Titan 中创建以地理空间顶点为中心的索引?
我尝试按照指南https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices中的模式在 rexster 控制台中创建一个,但失败了。
geo_location=g.makeKey("geo_location").dataType(Geoshape.class).make();
g.makeLabel("edge_label").sortKey(geo).signature(geo).make();
==>An error occurred while processing the script for language [groovy].
All transactions across all graphs in the session have been concluded with failure:
java.util.concurrent.ExecutionException:
javax.script.ScriptException:
javax.script.ScriptException:
java.lang.IllegalArgumentException:
Key must have comparable data type to be used as sort key: geo_location
我已经尝试创建一个常规的地理空间索引,但是在查询具有大量边且具有相关地理空间属性的顶点时,这会降低性能。
我设想这能够执行以下操作并检索圆内的所有边缘,最好按与 (x,y) 的距离排序。
x = 0
y = 0
radius = 10
circle = Geoshape.circle(current_position_x, current_position_y, nearby_radius)
some_vertex_with_centric_index.outE('edge_label').has(location, WITHIN, circle)
使用 Titan Server 0.4.4 w/Cassandra 2.0.3 + 弹性搜索