Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除neo4j中的所有索引?_Neo4j_Cypher_Spring Data Neo4j - Fatal编程技术网

如何删除neo4j中的所有索引?

如何删除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在前两个映射中传递索引和约束,但第三个参数确定是否删除任何其他索引和约束

我想删除所有索引存在使用密码在一个大批量可以这样做吗?我使用的是neo4j 3.4.7

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中可用。