我正在从 Neo4j 数据库中的索引检索数据,但在执行时间方面遇到了一些问题。我正在尝试一个查询,只需计算结果值即可。在我的生产数据库中,我正在进行更复杂的计算。不管怎样,我的查询看起来像这样,
START person = node:user_index('muncipalityCode:(1278 OR 1285 OR 1283 OR 1293 OR 1284 OR 1261 OR 1282 OR 1262 OR 1281 OR 1280 OR 1273) ')
return count(person)
计数在大约 20 秒内返回 278418(第二次为 2.5-3 秒,当缓存还热时)。当然,我正在返回一个相当大的数据集。然而,它并不巨大。
有什么地方可以减少这个瓶颈或者我应该研究一些配置设置吗?我尝试在启动时预热缓存,但我无法将所有数据放入生产服务器的 RAM 中,因此适得其反(我的服务器有 16GB RAM)。
我的数据库具有以下属性。 10 329 245 个节点 97 923 564 个特性 50 697 532 关系
最佳答案
我会使用Luke验证问题是否出在索引中或代码中的其他位置。如果相应的 Luke 查询很快,那么问题可能出在其他地方。
关于java - neo4j 慢lucene索引查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729037/