Neo4j自动索引 - 使它们永久保持

时间:2012-11-11 21:22:58

标签: neo4j

我将neo4j作为Windows服务运行。当我重新启动机器时,自动索引没有打开。

neo4j-sh (0)$ eval db.index().getNodeAutoIndexer().isEnabled()

返回false

我必须跑

neo4j-sh (0)$ eval db.index().getNodeAutoIndexer().setEnabled(true)

每次我开始服务。

我的配置文件中有以下内容

node_auto_indexing=true
node_keys_indexable=EmailAddress,Identifier,PostIdentifier,UserIdentifier

这些是我setEnabled(true)

时可转换的键

如何配置服务,以便每次启动时都不必启用索引?

1 个答案:

答案 0 :(得分:2)

根据Peter Neubauer的评论,索引是懒散创建的。因此,您必须创建至少一个包含至少一个可索引属性的实体(节点或关系)。恕我直言,这可能被视为如何管理索引的错误。在延迟创建索引之前,您可能希望在索引上发出Cypher查询。此查询将导致错误,因为索引不存在。但你可能期望的是一个空的结果集。发生错误的事实实际上会将一些索引实现泄漏给调用者。

事实上,我想我会在这个问题上打开一个问题; - )