现在我正在构建一个新的路由引擎。它存在大约500个顶点和30.000个边。我已将这些路线和机场放在Neo4j中,并且我已为每条路线指定了距离属性(两个节点之间的距离为KM)。
然而,当我使用Neo4j中实现的Dijkstra's Algorithm提出简单问题时;它基本上只是崩溃。内存使用量增加到4GB,CPU使用率增加到150%(即使我给出的最大深度为1)。
我的直觉说,这是因为我的图表中有一些周期。如果您想象机场之间的这些路线:
A> B> ç
可能还有一条路线:
C>甲
所以我认为它会在那些C>之间不断前进和前进。 A然后回去。
有没有办法阻止Neo4J进入&#34树"?所以基本上说,"嘿,我已经去过那里,没必要回去了#34;。我对Neo4j的了解有限,所以也许这很简单。