首页 > 解决方案 > 删除 neo4j 中所有索引的最佳方法是什么?

问题描述

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

DROP INDEX *没有在密码中工作。

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

标签: databaseindexinggraphneo4jcypher

解决方案


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

在您的情况下,如果您想清除所有索引和约束,只需为索引和约束提供空映射,它应该完全清除您的模式:

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

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


推荐阅读