TitanDB - 按时间戳降序构建属性索引

Dan*_*din 2 database graph gremlin titan

TitanDB 1.0.0(在DynamoDB之上)

格雷姆林3

我有一组带有标签a的顶点.我在这些顶点上有一个long类型的属性,它对应于1970年UTC(创建顶点的时间戳)的时间(以毫秒为单位).当我拉回那些顶点时,我希望能够以降序顺序将它们拉回来.

如何在Titan Management Systemdecr顺序中为该属性创建索引?

文档似乎含糊不清.

我找到的最近的事情是

public RelationTypeIndex buildPropertyIndex(PropertyKey key, String name, Order sortOrder, PropertyKey... sortKeys)

但是我把钥匙和sortKeys放进去了什么?我希望能够拉出timestamp属性排序的整个顶点

编辑:我知道在一分钟内执行此操作的唯一方法是在边缘复制该属性并使用边缘上的顶点中心索引来提高性能.

Fil*_*ira 9

我按照特定产品发布日期的顺序做了类似的事情.如果你想order().by("Value", decr)有效地执行,那么我强烈建议你阅读这里指定的混合索引.混合索引允许快速完成这些操作.

您可能正在寻找的一个例子:

TitanGraph graph = TitanFactory.open(config);
TitanManagement mgmt = graph.openManagement();
PropertyKey key = mgmt.makePropertyKey("TimeStamp").dataType(Long.class).make();
mgmt.buildIndex("timeStampIndex", Vertex.class).addKey(key).buildMixedIndex("search");
mgmt.commit();
Run Code Online (Sandbox Code Playgroud)

上面的索引让我可以非常快速地执行以下查询:

g.V().order().by("TimeStamp", decr);
Run Code Online (Sandbox Code Playgroud)

这让我按降序排列时间戳.上面的遍历将在没有索引的情况下工作,但在大图中可能会很慢.