java - neo4j 慢lucene索引查询

标签 java neo4j cypher

我正在从 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/

相关文章:

java - 分析方法内部的变量。 JavaParser/ANTLR 或其他?

java - 如何从 DJANGO 服务器获取和使用 HTTPResponse 消息

java - 如何在 Fortran 77 和 Java 数字代码之间获得机器精度协议(protocol)?

Java neo4j、REST 和内存

java - spring-data-neo4j 中 CREATE 未闭括号异常

java - 根据TLD标签测试必须为空

java - Neo4J:无法从具有多个元素的 Iterable 中提取单个值

java - 访问 neo4j-ogm 的映射上下文

node.js - 如何通过 neo4j REST API 正确创建数千个密码 Node ?

neo4j - 将动态数组存储在 Neo4J 节点属性中