TitanDB - 按时间戳降序构建 属性 索引
TitanDB - Build a property index in descending order by timestamp
TitanDB 1.0.0(在 DynamoDB 之上)
小精灵 3
我有一组带有标签 a 的顶点。我在那些顶点上有一个类型为 long 的 属性,它对应于从 1970 年 UTC 开始的以毫秒为单位的时间(创建顶点时的时间戳)。当我拉回那些顶点时我希望能够按 decsending 顺序将它们拉回来。
如何在 decr 订单中的 属性 上创建索引 Titan Management System?
文档对此似乎含糊不清。
我找到的最接近的是
public RelationTypeIndex buildPropertyIndex(PropertyKey key,
String name,
Order sortOrder,
PropertyKey... sortKeys)
但是我要输入什么作为 key 和 sortKeys?我希望能够拉出按时间戳 属性
排序的整个顶点
编辑:我目前知道的唯一方法是在边上复制 属性 并在边上使用以顶点为中心的索引提高性能。
我在特定产品的发布日期之前订购了类似的东西。如果你想有效地执行 order().by("Value", decr)
那么我强烈建议阅读指定的混合索引 here。混合索引使这些操作可以快速完成。
您可能正在寻找的示例:
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();
以上索引让我可以非常快速地执行以下查询:
g.V().order().by("TimeStamp", decr);
这让我按降序排列时间戳。上面的遍历在没有索引的情况下也可以工作,但在大图中可能会很慢。
TitanDB 1.0.0(在 DynamoDB 之上)
小精灵 3
我有一组带有标签 a 的顶点。我在那些顶点上有一个类型为 long 的 属性,它对应于从 1970 年 UTC 开始的以毫秒为单位的时间(创建顶点时的时间戳)。当我拉回那些顶点时我希望能够按 decsending 顺序将它们拉回来。
如何在 decr 订单中的 属性 上创建索引 Titan Management System?
文档对此似乎含糊不清。
我找到的最接近的是
public RelationTypeIndex buildPropertyIndex(PropertyKey key,
String name,
Order sortOrder,
PropertyKey... sortKeys)
但是我要输入什么作为 key 和 sortKeys?我希望能够拉出按时间戳 属性
排序的整个顶点编辑:我目前知道的唯一方法是在边上复制 属性 并在边上使用以顶点为中心的索引提高性能。
我在特定产品的发布日期之前订购了类似的东西。如果你想有效地执行 order().by("Value", decr)
那么我强烈建议阅读指定的混合索引 here。混合索引使这些操作可以快速完成。
您可能正在寻找的示例:
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();
以上索引让我可以非常快速地执行以下查询:
g.V().order().by("TimeStamp", decr);
这让我按降序排列时间戳。上面的遍历在没有索引的情况下也可以工作,但在大图中可能会很慢。