如何升级已弃用的 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 | ""
问题是:如何升级它们?这些是为了搜索而制作的,所以我应该删除它们吗?或者它在新版本中的工作方式是什么?
谢谢!
您可以保留旧索引或删除它们并创建新索引。
对于每个索引,您可以执行以下操作:
- 删除每一个:
DROP INDEX ON :Concept(name);
- 创建一个新的(原生):
CREATE INDEX ON :Concept(name);
- 验证它们是否已创建:
CALL db.indexes();
(这会显示进度)
请注意,本机索引有时可能对每个参数的长度有限制(最大长度为 4096)。在这种情况下,不会创建索引,您会在第 3 步看到错误。
在这种情况下,您可以简单地搜索错误类型的 属性,使用 SIZE(node.property)
过滤结果。然后更改该参数并(可选)对其添加约束以避免将来出现这种情况。
我从 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 | ""
问题是:如何升级它们?这些是为了搜索而制作的,所以我应该删除它们吗?或者它在新版本中的工作方式是什么?
谢谢!
您可以保留旧索引或删除它们并创建新索引。
对于每个索引,您可以执行以下操作:
- 删除每一个:
DROP INDEX ON :Concept(name);
- 创建一个新的(原生):
CREATE INDEX ON :Concept(name);
- 验证它们是否已创建:
CALL db.indexes();
(这会显示进度)
请注意,本机索引有时可能对每个参数的长度有限制(最大长度为 4096)。在这种情况下,不会创建索引,您会在第 3 步看到错误。
在这种情况下,您可以简单地搜索错误类型的 属性,使用 SIZE(node.property)
过滤结果。然后更改该参数并(可选)对其添加约束以避免将来出现这种情况。