我将电影和用户数据上传到janusgraph,最初我在movieId上建立了索引,但是后来我意识到我也需要对电影标题进行索引。我需要基于电影标题进行查询,而无需为电影ID编制索引,这提示我“查询需要遍历所有顶点”。因此,我添加了代码:

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();


当我查询电影标题时,仍然收到相同的警告“查询需要遍历所有顶点”。

谢谢

最佳答案

从Janusgraph gitter渠道获得了解决方案:

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

关于java - 如何在Janusgraph中发展模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57466327/

10-10 23:55