我从3.3.9升级到3.5.17版本的Neo4J,当启动时,它说。
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)
来过滤结果。然后更改该参数,(可选)在上面添加一个约束条件,以避免将来出现这种情况。