我为什么在运行graph.run(SHOW INDEXES;)时看到一个为空的Lookup索引?
我最近开始使用neo4j这个数据库。我用py2neo这个库连接到了数据库,并使用faker库填充了数据,创建了“人”和“地址”这两个节点,每个节点都有一些属性。我想创建索引,并测试不同索引的性能。我创建了这两个索引:
`# Step 3: Create Indexes for Persons and Addresses
graph.run(" CREATE INDEX IF NOT EXISTS FOR (p:Person) ON (p.name, p.dob, p.email, p.gender)")
graph.run("CREATE INDEX IF NOT EXISTS FOR (a:Address) ON (a.address, a.postcode, a.country)")'
我创建了一些索引,并使用了这个命令:
`graph.run("SHOW INDEXES;")`
我本来期待看到2个索引,但结果却返回了3个索引。最后一个是查找类型的,并且有一些属性是空的。那张图片显示了输出结果,为什么这个索引会出现呢?谢谢。
我原本只期待返回2个索引,所以我在想可能是我理解上有些问题?我已经开始阅读Neo4j关于索引的文档,但还是不太确定。任何帮助都很感激。谢谢!
2 个回答
0
你看到的这个额外的索引可能是Neo4j自动创建的,用于内部使用。Neo4j可能会创建一些额外的索引来优化它的内部操作,而这些索引可能并不是用户直接创建的。在你的情况下,显示为null属性的“Lookup”索引可能就是其中一个内部索引。
要确认这个索引是否真的是Neo4j创建的内部索引,你可以尝试直接查询系统目录。比如,你可以使用下面的查询来列出数据库中的所有索引:
CALL db.indexes() YIELD description
RETURN description