gpt4 book ai didi

indexing - Neo4j - 通过ID查找节点 - 如何获取ID进行查询?

转载 作者:行者123 更新时间:2023-12-02 22:03:27 25 4
gpt4 key购买 nike

出于性能原因,我希望能够通过 ID 找到特定节点(ID 比索引更有效)

为了执行以下示例:

MATCH (s)
WHERE ID(s) = 65110
RETURN s

我需要节点的 ID(在本例中为 65110)

但是我怎样才能得到它呢?由于 ID 是自动生成的,因此如果不查询图表就不可能找到 ID,这有点违背了目的,因为我已经拥有了该节点。

我错过了什么吗?

最佳答案

TL;DR:使用索引属性进行查找,除非您绝对需要优化并且可以测量差异。

通常,您使用索引查找作为图形的入口点,即获取提供边遍历起点的节点。虽然 Neo4j 节点 ID 的类似指针的性质意味着它们理论上更快,但索引查找也非常高效,因此您不应该因为性能而打折它们,除非您确定它会产生可衡量的差异。

您还应该考虑到Neo4j 节点 ID 不稳定。如果删除节点,将来可能会重复使用相同的 ID。因此,它们确实应该被视为内部实现细节,而不是应作为应用程序外部接口(interface)的一部分而依赖的细节。

也就是说,我有一个应用程序将 Neo4j ID 存储在 Solr 索引中,用于批量查找节点,但该索引被认为是 volatile 的,并且节点还包含索引的、应用程序生成的 UUID 属性(具有唯一约束)这是他们的主要“主键”。

进一步阅读和讨论:https://github.com/neo4j/neo4j/issues/258

关于indexing - Neo4j - 通过ID查找节点 - 如何获取ID进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com