微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以幂等方式创建 Neo4j 全文索引?

如何解决如何以幂等方式创建 Neo4j 全文索引?

我有一些运行 Cypher init 脚本的集成测试套件,我希望其中的所有操作都是幂等的。

第一次运行 CALL db.index.fulltext.createNodeIndex("usernames",["User"],["username"]) 运行良好,但在随后的尝试中失败。

我试过了:

CALL apoc.do.when(
  apoc.schema.node.indexExists("User",["username"]),'RETURN NULL','CALL db.index.fulltext.createNodeIndex("usernames",["username"])'
)

结果:

Failed to invoke procedure `apoc.do.when`: Caused by: org.neo4j.graphdb.security.AuthorizationViolationException: Schema operations are not allowed for user 'neo4j' with roles [PUBLIC,admin] overridden by TOKEN_WRITE overridden by TOKEN_WRITE.

如何使用全文索引实现此目的?

这是在 Neo4j 4.2.1 中

解决方法

您不能运行密码查询来删除/创建索引。但是您可以分两步删除/创建它,例如

CALL db.index.fulltext.drop("usernames")  ;
CALL db.index.fulltext.createNodeIndex("usernames",["User"],["username"]) ;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。