如何检查neo4j cypher中是否存在索引

问题描述 投票:0回答:3

我正在尝试找到一种方法来检查密码模式索引中是否存在某个索引。我可以使用

call db.indexes()
找到所有索引。但我如何检查特定索引?

neo4j cypher
3个回答
5
投票

如果您希望索引存在,我建议只运行 Cypher 来创建索引。结果是无论索引存在与否,调用后都保证存在。

另一方面,如果您只想将信息用于显示目的或其他用途,则可以使用 YIELD 继续从 CALL 中获取密码。例如...

CALL db.indexes() YIELD label, properties WHERE label="Person" RETURN *

对于 db.indexes,您可以生成的变量是

description, label, properties, provider, state, type
(您必须按名称生成它们,
YIELD a,b,c,d,e,f
不起作用)


4
投票

APOC 插件有一个 apoc.schema.node.indexExists 函数,用于确定特定索引是否存在。


0
投票

在2024年的Neo4J 5中,您可以使用

SHOW INDEXES
(或SHOW CONSTRAINTS),它会呈现一个列表

文档:管理索引手册

© www.soinside.com 2019 - 2024. All rights reserved.