Abd*_*man 4 neo4j cypher spring-data-neo4j
我想批量删除使用密码存在的所有索引可以完成吗?我正在使用 neo4j 3.4.7。
DROP INDEX ON :Label(attributename)
Run Code Online (Sandbox Code Playgroud)
如果我在稍后阶段创建相同的索引,它是否会替换现有索引?
删除所有索引和约束的快速方法是使用 APOC 过程apoc.schema.assert,如下所示:
CALL apoc.schema.assert({},{},true) YIELD label, key
RETURN *
Run Code Online (Sandbox Code Playgroud)
该过程主要是为了确保数据库具有前 2 个映射中传递的索引和约束,但第三个参数确定是否删除任何其他索引和约束。在上面的查询中,前 2 个映射是空的,因此最终结果是所有索引和约束都被删除。
对于版本 3.x,您可以使用内置程序 Neo4j 来指定您想要的索引。您可以从网络浏览器发送 Cipher 查询:
CALL db.indexes() - 列出数据库中的所有索引。
CALL db.index.fulltext.drop() -删除指定的索引。
或
CALL db.index.explicit.drop() - 删除显式索引 - YIELD 类型、名称、配置
最新版本的所有可能的内置过程和参数均位于 此处 Neo4j 的用户管理
旧风格用 CIPHER 来做:
删除索引:labelOfNode(propertyOfNode)
在 :labelOfNode(propertyOfNode) 上创建索引