在neo4j Aura上有这个apoc调用的解决方案吗?我需要它才能创建一个全文搜索索引。
如果我尝试使用apop . cipher .run,会出现这个错误:
Neo.ClientError.Security.Forbidden
Schema operations on database 'neo4j' are not allowed for user 'neo4j' with FULL overridden by READ.
Neo4j查询:
CALL db.propertyKeys() YIELD propertyKey
CALL db.labels() YIELD label
WITH apoc.text.join(collect(DISTINCT propertyKey), "`, n.`") as properties, apoc.text.join(collect(DISTINCT label), "`|`") AS labels
CALL apoc.cypher.runSchema("CREATE FULLTEXT INDEX fullSearchIndex FOR(n:`" + labels + "`) ON EACH [n.`"+properties+"`]", {}) YIELD value RETURN value
只有APOC提供的一部分可用于Aura。查看完整列表:https://neo4j.com/docs/aura/platform/apoc/
在您的特定情况下,apoc.cypher.runSchema
仅在动态创建语句并在单个查询中运行时才有用。
由于不能使用apoc.cypher.runSchema
,因此需要在客户端创建并运行这些语句。
运行:
CALL db.propertyKeys() YIELD propertyKey
CALL db.labels() YIELD label
RETURN collect(DISTINCT propertyKey) as properties, collect(DISTINCT label) AS labels
用c#处理结果,并在那里创建语句。
然后,您可以逐一运行语句。
这显然比在服务器端做所有的事情效率要低,但我认为没有别的办法。