Neo4j 5.6.0 CE创建全文索引报错:Invalid input '.',求解决方案
问题分析与解决方案
报错原因
- 索引命名违规:你使用的
company.node.v2包含.,Neo4j不允许索引名称包含这类特殊符号,索引名必须是由字母、数字、下划线组成的合法单一标识符。 - 语法冗余错误:索引名后额外添加的
: Address完全不符合CREATE FULLTEXT INDEX的语法结构。数据库解析到此处的.时,预期接下来是FOR关键字,因此抛出Invalid input '.': expected "FOR" or "IF"的错误。
修正后的执行语句
将索引名改为合法格式,去掉多余的: Address部分即可:
:begin CREATE FULLTEXT INDEX company_node_v2_address FOR (n:Address) ON EACH [n.`city`,n.`department`,n.`identification_number`,n.`latitude`,n.`longitude`,n.`region`,n.`uid`,n.`zip_code`]; :commit
额外说明
如果需要区分索引的归属或版本,建议用下划线(_)连接命名,比如company_node_v2_address,既清晰又符合Neo4j的命名规则。
内容的提问来源于stack exchange,提问作者frank_909
相关产品推荐
相关产品推荐

