我正在使用neo4j构建一个大型图形数据库.
我有自己的外部索引,它为我提供了用于进一步neo4j图遍历的相关节点的标识符.换句话说,当我查询数据库时,我已经拥有了我的起始节点ID.
我的问题是:如果我使用neo4j/lucene索引访问相关节点,节点查找会更快吗?
或者是查询,例如:
START n=node({ids})
Run Code Online (Sandbox Code Playgroud)
已针对节点访问进行了优化,使用以下方法无法获得:
START n=node:nodeIndexName(key={value})
Run Code Online (Sandbox Code Playgroud)
?
谢谢,
是.Neo4j针对节点ID进行了优化,因为在持久性级别,所有节点都是块,因此访问节点100就像访问块100一样.
我会警告你,如果删除它,Neo4j不保证节点ID.Neo4j收回ID.因此,如果在数据库生命周期中删除并添加多个节点,则外部条目可能是"有效"但不是您期望的.
//编辑:另外,为什么不使用Lucene来执行查找?当然,访问节点ID的速度更快,但这是Lucene在执行查找时在封面下所做的事情,因此key:name, value:frank将返回node id 5123并且neo4j将返回与该ID对应的节点.
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |