管理 neo4j 指数的生命周期 (CRUD)



我对数据库的经验有限(而且不连贯),对索引几乎没有经验。基于网络搜索、阅读书籍和使用ORM,我的理解可以总结如下:

  • 数据库中的索引类似于书籍索引,因为它列出了书中的"东西",并告诉你在哪里可以找到它。这有助于提高查找效率(这可能不是唯一的好处)
  • 在(至少有些)RDBMS中,主键字段会自动索引,因此您不必直接操作它们

我正在修改neo4j,似乎你必须仔细考虑索引,所以现在我需要理解它们,但我找不到明确的答案:

  • neo4j中的索引是如何管理的
  • 我知道有自动索引,它是如何工作的
  • 如果您选择手动管理自己的索引,您可以对它们进行哪些控制?也许,索引名称等

谢谢你的回答或答案的提示,谢谢。

Neo4j如果您希望数据具有类似索引引擎的功能,则会在背后使用ApacheLucene。您可以为节点和/或关系建立索引-该索引可以帮助您查找特定的实例/节点或关系集。

手动索引:

您可以创建任意数量的节点/关系索引,也可以为每个索引指定一个名称。配置也可以控制,即您是想要精确匹配(默认)还是Lucenes全文索引支持。一旦有了索引,只需向其中添加节点/关系以及要索引的键/值。但是,如果对节点属性进行更改,则需要自己负责"更新"索引中的数据。

自动索引:

如果在neo4j.properties文件中打开节点和关系,则可以获得一个节点索引和一个关系索引。您可以指定要索引的属性,从启用这些属性开始,索引将自动为您管理,即在此点之后创建的任何节点都将自动添加到索引中并更新/删除。

更多阅读:http://docs.neo4j.org/chunked/stable/indexing.html

以上适用于<2.0

2.0增加了更多关于索引本身的概念,你可能想通过

http://www.neo4j.org/develop/labels

http://blog.neo4j.org/2013/04/nodes-are-people-too.html

希望能有所帮助。

最新更新