我对使用 neo4j 还比较陌生。我已使用 py2neo 库连接到数据库,并使用 faker 库填充数据库,为 Person 和 Address 创建节点,每个节点都附加了属性。我对创建索引并测试不同索引的性能感兴趣。这是我创建的两个索引
`# 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 文档,但我仍然不确定。任何帮助,将不胜感激。谢谢!
您看到的附加索引可能是 Neo4j 自动创建的供内部使用。 Neo4j 可能会创建额外的索引来优化其内部操作,并且这些索引可能不是由用户直接创建的。在您的情况下,显示空属性的“查找”索引可能是这些内部索引之一。
为了确认该索引是否确实是Neo4j创建的内部索引,可以尝试直接查询系统目录。例如,您可以使用以下查询列出数据库中的所有索引:
CALL db.indexes() YIELD description
RETURN description