根据最新的泰坦0.4.1 文档,这段代码应该可以对结果集中的顶点进行排序:
graph.query().has("name",CONTAINS,"john").orderBy("age",Order.DESC).limit(10).vertices()我希望在一组可能很大的顶点上执行这种类型的查询,因此希望对其进行索引。医生建议:
大多数外部索引后端支持本地和高效的排序。但是,必须将orderBy方法中使用的属性键配置为在此索引后端中索引,以支持本机结果排序。在orderBy键与查询键不同的情况下,这一点很重要。如果属性键未编入索引,则排序要求将所有结果加载到内存中。
特别是对于Elasticsearch后端,我们如何创建将支持此orderBy方法的索引?
是否有一个简单的第三个参数传递给KeyMaker的indexed方法,可能是对来自文档的下面示例的扩展。
graph.makeKey("age").dataType(Integer.class).indexed("search", Vertex.class).make();发布于 2013-12-19 23:07:26
您只需要在ES中索引属性(就像任何其他属性一样)。
在土卫六中索引(错误;orderBy不会被优化):
graph.makeKey("age").dataType(Integer.class).indexed(Vertex.class).make();在ES中索引(正确;本机结果排序在ES中):
graph.makeKey("age").dataType(Integer.class).indexed("search", Vertex.class).make();奇格斯,丹尼尔
https://stackoverflow.com/questions/20669225
复制相似问题