我打开了节点自动索引,它正在索引我需要的属性。如果我启动 Neo4j 服务器并打开 webadmin,我看到有一个node_auto_index
根据这篇文章调用的索引。它可以在 webadmin 中完美运行,我可以像这样运行 Cypher 查询:
START n=node:node_auto_index('__type:user AND __username:admin') RETURN n
查询完全符合我的预期。但是,如果我关闭服务器并从 Scala 应用程序以嵌入式模式打开数据库,这将不起作用。如果我尝试运行相同的 Cypher 查询,我会收到一个node_auto_index
不存在的错误。我检查了 GraphDatabaseService 属性,并且自动索引已启动并在正确的键上运行,但是当获取所有索引名称的列表时,该列表始终为空。而且我不能使用 AutoIndex API,因为它只索引一个属性,我绝对需要两者。
因此,从这一点来看,从我的 Scala (Java) 代码中查询具有多个属性的自动索引的最佳方法是什么?
编辑:我注意到 ReadableIndex 接口(这就是自动索引)可以接受一个查询字符串。我找不到太多关于它的文档,所以我将尝试一些事情,但是有没有机会进行 Cypher 查询?或者只是我上面查询中的单引号字符串?