使用official faq从Neo4j 2.2.8成功迁移到3.0.4后,全文搜索无法按预期工作。模糊不像以前那么模糊。
示例:
START n=node:node_auto_index('name:(+Target~0.85)') MATCH (n) RETURN n;
返回包含字段name
的节点,其中包含类似于'Target'的85%的工作。
在匹配以下内容之前:
迁移后:
为什么以及如何解决这个问题?
答案 0 :(得分:3)
原因是迁移后lucene node_auto_index
未正确配置。可能迁移工具不尊重其配置或破坏。
解决方案是正确设置索引并重建它们。
步骤:
/etc/neo4j/neo4j.conf
是否启用了auto_index,并将密钥设置为您要自动编入索引的字段:dbms.auto_index.nodes.enabled=true
dbms.auto_index.nodes.keys=name
node_auto_index
是否已正确配置
醇>
neo4j-shell -c 'index --get-config node_auto_index'
{
"analyzer": "org.apache.lucene.analysis.standard.StandardAnalyzer",
"provider": "lucene",
"to_lower_case": "true",
"type": "fulltext"
}
type
不是fulltext
,那么您运行以下内容:neo4j-shell -c 'index --set-config node_auto_index type fulltext'
neo4j-shell -c 'index --set-config node_auto_index to_lower_case true'
neo4j-shell -c 'index --set-config node_auto_index analyzer org.apache.lucene.analysis.standard.StandardAnalyzer'
dbms.auto_index.nodes.keys
字段),在您的数据集上运行以下cypher:name
以下步骤将帮助您在Neo4j 3.0中设置全文lucene索引并重新索引现有数据。