如何升级已弃用的 Neo4J lucene 索引?

How to upgrade the deprecated Neo4J lucene indexes?

我从 Neo4J 的 3.3.9 升级到 3.5.17 版本,启动时它说:

Deprecated index providers in use: lucene-1.0 (9 indexes). Use procedure 'db.indexes()' to see what indexes use which index provider.

然后,当我 运行 该命令时,它会列出 9 个索引,如下所示:

| "INDEX ON :Concept(name)"   | "Unnamed index" | ["Concept"]   | ["name"]      | "ONLINE" | "node_label_property" | 100.0    | {version: "1.0", key: "lucene"} | 3  | ""  

问题是:如何升级它们?这些是为了搜索而制作的,所以我应该删除它们吗?或者它在新版本中的工作方式是什么?

谢谢!

您可以保留旧索引或删除它们并创建新索引。

对于每个索引,您可以执行以下操作:

  1. 删除每一个:
DROP INDEX ON :Concept(name); 
  1. 创建一个新的(原生):
CREATE INDEX ON :Concept(name);

  1. 验证它们是否已创建:
CALL db.indexes();

(这会显示进度)

请注意,本机索引有时可能对每个参数的长度有限制(最大长度为 4096)。在这种情况下,不会创建索引,您会在第 3 步看到错误。

在这种情况下,您可以简单地搜索错误类型的 属性,使用 SIZE(node.property) 过滤结果。然后更改该参数并(可选)对其添加约束以避免将来出现这种情况。