【问题标题】:Janusgraph not able to find suitable index for a index enabled property keyJanusgraph 无法为启用索引的属性键找到合适的索引
【发布时间】:2022-01-09 17:52:16
【问题描述】:

我正在开发一个 Janusgraph 应用程序。为了提高 gremlin 查询性能,我们创建了两个混合索引,一个用于顶点,一个用于边。

现在 Janusgraph 可以在索引创建时(即在同一事务中)查询创建和索引的属性键的索引。如果我在新事务中创建和索引新属性键,则 Janusgraph 无法使用索引查询它们,而是进行完整的图形扫描。

使用 Janusgeaph 管理 API,我检查了所有属性键是否都已编入索引并启用,即使 Janusgraph 正在扫描完整的图形以查询索引的属性键。

我有什么遗漏吗?任何帮助将不胜感激。

后端索引引擎 -> ElasticSearch

后端存储 -> Cassandra

【问题讨论】:

    标签: elasticsearch gremlin graph-databases janusgraph full-text-indexing


    【解决方案1】:

    曾经遇到过这个问题。尝试重新索引一次创建的索引(在其他事务中创建的索引)。它对我有用。希望它也对你有用。

    请找到以下步骤:-

    对于重新索引:

        mgmt = graph.openManagement()
        i = mgmt.getGraphIndex('IndexName')
        mgmt.updateIndex(i, SchemaAction.REINDEX)
        mgmt.commit()
    

    启用索引:

        ManagementSystem.awaitGraphIndexStatus(graph, 'IndexName').status(SchemaStatus.ENABLED).call()
    

    注意:如果您在启用索引时得到“错误”,请尝试使用相同的命令启用它 2 3 次 (ManagementSystem.awaitGraphIndexStatus(graph, 'IndexName').status(SchemaStatus.ENABLED )。称呼())。它最终会起作用。

    【讨论】:

    • 谢谢,是的,我在重新索引后能够解决这个问题。在文档中,他们提到如果在创建索引之前已经在使用属性键,那么只有我们应该重新索引,但事实并非如此。如果您在索引之前创建了属性键,那么在所有这些情况下,您都必须执行重新索引。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多