【发布时间】:2015-10-19 22:40:42
【问题描述】:
我目前正在使用neo4j 2.2.5。我有大约 3000 万个实际航班和大约数千个机场。我有Flight 和Airport 节点,还有HAS_FLIGHT 和FLYING_TO 关系。这些关系连接了两个节点,源Airport 节点通过HAS_FLIGHT 关系连接到Flight 节点,Flight 节点通过FLYING_TO 关系连接到目标Airport。
所以我的问题是,当我试图找到从伦敦市到东京市最多 2 个中转机场或中转机场的路径航班时,我的查询将花费 20 多分钟,最后连接丢失。
这是我的查询:
//从伦敦到东京的航线
MATCH path = (london :Airport{city:'London'})-[:HAS_FLIGHT|FLYING_TO*0..6]->(tokyo :Airport{city:'Tokyo'})
RETURN path;
【问题讨论】:
-
你有
:Airport(city)的索引吗?一般来说,有关优化 Cypher 查询的信息,请参阅 this blog post。 -
william 是的,我已经创建了索引。
标签: neo4j garbage-collection cypher graph-databases