删除neo4j中所有索引的最佳方法是什么?

时间:2018-09-03 07:23:34

标签: database indexing graph neo4j cypher

我想一次性删除neo4j中所有可用的索引,以便数据库完全干净,我可以创建新索引。

DROP INDEX *在密码中无效。

我不想遍历每个索引名称,并使用neo4j客户端将其删除。

1 个答案:

答案 0 :(得分:3)

如果已安装APOC Procedures,则可以使用apoc.schema.assert()。通常用于断言存在某些约束和索引(如果不存在,则创建它们),并可选地保留或删除所有其他未作为参数提供的索引和约束。

在您的情况下,如果要擦除所有索引和约束,只需为索引和约束提供空的映射,它将完全擦除您的架构:

CALL apoc.schema.assert({},{})

请注意,这目前无法处理复合索引或节点键约束,我们需要对此进行调整。