我正在使用Neo4j 2.0。
我有一个标签PROD
。标签为PROD
的所有节点都具有属性name
。我在name
上创建了一个索引,如下所示:
CREATE INDEX ON :PROD(name)
如果我将属性name
的值从“old”更改为“new”,创建索引后,以下查询在用于测试的小数据集中工作正常,但在我们的生产数据中没有,700个节点具有label PROD
(其中大约有一百万个节点和其他标签)。
MATCH (n:PROD) WHERE n.name="new" RETURN n;
我还在同一个字段上创建了遗留索引,在修改后删除并重新索引节点后,它在测试和生产数据集上都能正常工作。
有没有办法确保索引更新?我究竟做错了什么?为什么大型数据集的上述查询失败?
答案 0 :(得分:1)
您可以在Neo4j浏览器中使用:schema
命令,或在neo4j-shell中使用schema
。输出应指明已创建哪些索引以及哪些索引已在线。
另外还有programmatic way to wait until index population has finished。
考虑升级到2.1.3,索引从2.0开始有所改进。