Neo4j关系索引-搜索关系属性

Imme22009

我有一个具有以下结构的neo4j图。

(帐户)--- [交易] ---(帐户)

交易是neo4j关系,帐户是节点。

在每笔交易上都设置了各种属性,例如交易ID,金额,日期和其他各种银行信息。

我可以通过帐户ID进行搜索,但返回的很好。但是,当我按事务ID搜索时,neo4J会搜索整个图形而不是使用索引,搜索会失败。

我创建org.neo4j.unsafe.batchinsert.BatchInserterImpl.createDeferredSchemaIndex()了同时用于Account.number和Transaction.txid的索引该索引似乎对帐户(节点)搜索有效,但对交易(关系)搜索无效。(我还为节点和关系启用了自动索引,但是它并没有改变任何东西)

我认为不支持在关系属性上建立索引,因此考虑使中间节点保存属性信息。但是,如果可能的话,我宁愿坚持我的原始设计。

任何想法如何进行?

斯蒂芬·阿姆布鲁斯特(Stefan Armbruster)

您可以使用旧索引自动索引来建立关系索引。架构索引不支持索引关系。

这样做的原因:通常,您使用使用节点在域中对#things#或#entities#进行建模。关系将您的世界连接起来,并将节点置于语义上下文中。当遵循该模型时,通常不必索引关系,因为查询始终从始终是节点的#thing#开始。

在您的模型中,您应该重新考虑建模,我想拥有

 (account)-[:send]->(transaction)-[:to]->(account).

因此,事务本身就是事物,因此成为节点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章