neo4j没有在大型数据集上创建索引

时间:2016-05-16 22:22:52

标签: neo4j

我正在一个非常大的(8.2M节点,63M属性)neo4j数据库实例上创建一个索引。

CREATE INDEX ON :Article(lowerTitle)

发出命令需要的时间可以忽略不计,索引(可能)开始处理。

我有一个100GB的最大java堆,以及40个核心(它是一个大型服务器)。然而,它是一个愚蠢的硬盘驱动器。

发出index命令后,我的核心使用率非常高效。大约20秒后,它几乎没有处理器功率,但大约是MEM的90%。

我让它运行了3个小时,但索引仍未创建(或者至少,对单个参数的简单MATCH查询没有任何改进,平均约为16秒)。

MATCH (arti {lowerTitle: "quantum mechanics"}) RETURN arti

这合理吗?花了这么长时间?我做错了吗?

注意:我还注意到我的总数据库大小(38.02GB)在3小时内没有增加

1 个答案:

答案 0 :(得分:1)

要验证索引是否在线,请在浏览器中发出:schema命令。

您应该会看到您的索引状态。

  • ONLINE表示确定
  • POPULATING意味着它仍在填充索引
  • 失败意味着,失败

您的查询永远不会快速运行,因为您没有使用标签,因此不会使用任何索引,请将其更改为:

MATCH (arti:Article {lowerTitle: "quantum mechanics"}) RETURN arti
相关问题