如何在 Janusgraph 中发展模式?

How to evolve schema in Janusgraph?

我将电影和用户数据上传到 janusgraph,最初我在 movieId 上建立了索引,但后来我意识到我还需要为电影标题建立索引。我需要根据电影标题进行查询并且没有索引电影 ID,它给我警告 "Query requires iterating over all vertices"。所以,我添加了代码:

JanusGraphManagement mgmt = graph.openManagement();
PropertyKey title = mgmt.getPropertyKey("title");
JanusGraphManagement.IndexBuilder movieNameIndexBuilder = mgmt.buildIndex("title", Vertex.class)
            .addKey(title);
movieNameIndexBuilder.unique();
JanusGraphIndex movieTitleIndex = movieNameIndexBuilder.buildCompositeIndex();
mgmt.setConsistency(movieTitleIndex, ConsistencyModifier.LOCK);
mgmt.commit(); 

当我查询电影标题时,我仍然收到相同的警告 "Query requires iterating over all vertices"。

谢谢

从 Janusgraph gitter 频道获得解决方案:

如果索引的 属性 键是在之前的管理事务中创建的,则索引不会立即可用,因为 JanusGraph 现在可能需要重新索引现有数据。这是您必须手动触发的过程。您可以在文档的 Index Management 章中阅读更多相关信息。 这就是为什么建议在创建 属性 键的同一事务中创建所有索引(如果可能)