如何删除neo4j中的所有索引?
我想删除所有索引存在使用密码在一个大批量可以这样做吗?我使用的是neo4j 3.4.7如何删除neo4j中的所有索引?,neo4j,cypher,spring-data-neo4j,Neo4j,Cypher,Spring Data Neo4j,我想删除所有索引存在使用密码在一个大批量可以这样做吗?我使用的是neo4j 3.4.7 DROP INDEX ON :Label(attributename) 如果我在以后的阶段创建相同的索引,它会替换现有的索引吗 删除所有索引和约束的快速方法是使用APOC过程,如下所示: CALL apoc.schema.assert({},{},true) YIELD label, key RETURN * 该过程主要用于确保DB在前两个映射中传递索引和约束,但第三个参数确定是否删除任何其他索引和约束
DROP INDEX ON :Label(attributename)
如果我在以后的阶段创建相同的索引,它会替换现有的索引吗 删除所有索引和约束的快速方法是使用APOC过程,如下所示:
CALL apoc.schema.assert({},{},true) YIELD label, key
RETURN *
该过程主要用于确保DB在前两个映射中传递索引和约束,但第三个参数确定是否删除任何其他索引和约束。在上面的查询中,前两个映射是空的,因此最终结果是删除所有索引和约束。对于3.x版,您可以使用内置过程Neo4j来删除所需的索引。从web浏览器,您可以发送密码查询:
调用db.indexes()
-列出数据库中的所有索引
调用db.index.fulltext.drop()
-删除指定的索引
或
调用db.index.explicit.drop()
-删除显式索引-生成类型、名称、配置
最新版本的所有可能的内置过程和参数
旧式密码:
将索引放到:labelOfNode(propertyOfNode)
在上创建索引:labelOfNode(propertyOfNode)上的解决方案和上一个解决方案可能会对您有所帮助。如果(重新)创建相同的索引,则不会出现错误,并且不会触及现有的索引。请参阅。注意,这不适用于复合索引或节点键约束,我也不认为它适用于属性存在约束。我可以检查cypher中是否存在索引吗@CyberSamer语言本身无法检查索引是否存在。但是APOC插件有几个方面。特别是,
apoc.schema.node.indexists()
将告诉您是否存在特定的索引。可以用以下方法检查索引的存在性:如果存在属性索引,则返回一行,否则返回零行调用db.indexes()产生description,其中description=“INDEX ON:Publication(source_id)”返回*`注意:这些删除过程仅在Enterprise Edition中可用。