问题描述
我在同一个标签和属性上有两个索引;一个全文索引和一个 btree 索引。如何检查全文索引是否存在?
根据 https://neo4j.com/developer/cypher/filtering-show/,我应该能够使用 SHOW
和 YIELD
过滤 WHERE
的输出,但这似乎不适用于索引:
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
解决方法
可查看列表,(但不可操作)
SHOW [ALL|BTREE] INDEX[ES] [BRIEF|VERBOSE [OUTPUT]]
SHOW ALL INDEX VERBOSE
重新创建索引时出错?
使用IF NOT EXISTS
CREATE INDEX usernames IF NOT EXISTS FOR (u:User) ON (u.username)
弃用
不幸的是,没有未弃用方法来获取您可以根据示例操作的索引列表。但是,弃用并不意味着您不应该使用它。弃用通常(在语义版本控制中)意味着该方法在下一个主要版本中将不可用或将发生重大变化。别担心,Neo4j 5 还有很长的路要走。