首页 > 解决方案 > 如何检查 Neo4j 全文索引是否存在?

问题描述

我在同一个标​​签和属性上有两个索引;一个全文索引和一个 btree 索引。如何检查全文索引是否存在?

根据https://neo4j.com/developer/cypher/filtering-show/我应该能够过滤SHOWusing的输出YIELDWHERE但这似乎不适用于索引:

Invalid input 'Y': expected whitespace, comment, type of show output, ';' or end of input (line 1, column 14 (offset: 13))
"SHOW INDEXES YIELD name, type"

以下查询有效,但会发出关于以下内容的弃用警告db.indexes

CALL db.indexes() YIELD name, type
WHERE name = "usernames" AND type = "FULLTEXT"
RETURN count(name) > 0

标签: neo4j

解决方案


可查看列表,(但不可操作)

SHOW [ALL|BTREE] INDEX[ES] [BRIEF|VERBOSE [OUTPUT]]

SHOW ALL INDEX VERBOSE

重新创建索引时出错?

使用如果不存在

CREATE INDEX usernames IF NOT EXISTS FOR (u:User) ON (u.username) 

弃用

不幸的是,没有不推荐的方法来获取可以根据您的示例操作的索引列表。但是,弃用并不意味着您不应该使用它。弃用通常(在语义版本控制中)意味着该方法在下一个主要版本中将不可用或将发生重大变化。别担心,Neo4j 5 离我们还有很长的路要走。

参考


推荐阅读