【问题标题】:Neo4j Embedded - Auto Index Multiple PropertiesNeo4j Embedded - 自动索引多个属性
【发布时间】:2013-05-10 05:26:55
【问题描述】:

我打开了节点自动索引,它正在索引我需要的属性。如果我启动 Neo4j 服务器并打开 webadmin,我看到有一个名为 node_auto_index 的索引,根据 this 帖子。它可以在 web 管理员中完美运行,我可以像这样运行 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 查询?或者只是我上面查询中的单引号字符串?

【问题讨论】:

标签: neo4j


【解决方案1】:

事实证明,ReadableIndex 的 query 函数实际上采用了 Lucene Query,我现在意识到这就是我上面引用的内容。所以调用这段代码:

val nodes = db.index.getNodeAutoIndexer.getAutoIndex.query("__type:user AND __username:admin")

给了我我想要的。

【讨论】:

    猜你喜欢
    • 2013-12-27
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多