如何在关系类型上创建索引 (neo4j)
How to create index on relationship type (neo4j)
我是 neo4j 的新手。我是运行Windows下的shell。
我创建了一个名为:user 的节点,并且在 id 上有索引。用户已获得 id 和 name 属性。
我建立了一种叫做朋友的关系。 (用户 1, 用户 2)
neo4j.properties 设置为:
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=id
# Enable auto-indexing for relationships, default is false
relationship_auto_indexing=true
# The relationship property keys to be auto-indexed, if enabled
relationship_keys_indexable=user1,user2
我的问题是:
1- 当我键入::schema ls 时,它显示:
Indexes
ON :User(id) ONLINE
No constraints
为什么不显示关系上的索引?
2- 我如何使用 shell 在关系上手动创建索引?
当您键入:schema
时,您看到的索引是Neo4j中的新型索引。 node_auto_indexing
和 relationship_auto_indexing
(以及 *_keys_indexable
)配置属性似乎是 Neo4j 遗留索引的一部分:
http://neo4j.com/docs/milestone/auto-indexing.html
我不太熟悉遗留索引,但在新型索引中没有关系索引。在该范例中,您首先通过节点的索引找到节点,然后从那里跟踪关系,但是如果不首先找到节点就无法直接查询关系。
您可以在此处阅读有关遗留索引的信息:
http://neo4j.com/docs/milestone/indexing.html
但我会 copy/paste 一段有用的文章:
"As of Neo4j 2.0, this is not the favored method of indexing data in Neo4j, instead we recommend defining indexes in the database schema."
"However, support for legacy indexes remains, because certain features, such as uniqueness constraints, are not yet handled by the new indexes."
不过,我认为这不再是完全正确的,因为 Neo4j 已经支持数据库模式中的唯一约束已有一段时间了:
我是 neo4j 的新手。我是运行Windows下的shell。 我创建了一个名为:user 的节点,并且在 id 上有索引。用户已获得 id 和 name 属性。
我建立了一种叫做朋友的关系。 (用户 1, 用户 2)
neo4j.properties 设置为:
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=id
# Enable auto-indexing for relationships, default is false
relationship_auto_indexing=true
# The relationship property keys to be auto-indexed, if enabled
relationship_keys_indexable=user1,user2
我的问题是:
1- 当我键入::schema ls 时,它显示:
Indexes
ON :User(id) ONLINE
No constraints
为什么不显示关系上的索引?
2- 我如何使用 shell 在关系上手动创建索引?
当您键入:schema
时,您看到的索引是Neo4j中的新型索引。 node_auto_indexing
和 relationship_auto_indexing
(以及 *_keys_indexable
)配置属性似乎是 Neo4j 遗留索引的一部分:
http://neo4j.com/docs/milestone/auto-indexing.html
我不太熟悉遗留索引,但在新型索引中没有关系索引。在该范例中,您首先通过节点的索引找到节点,然后从那里跟踪关系,但是如果不首先找到节点就无法直接查询关系。
您可以在此处阅读有关遗留索引的信息:
http://neo4j.com/docs/milestone/indexing.html
但我会 copy/paste 一段有用的文章:
"As of Neo4j 2.0, this is not the favored method of indexing data in Neo4j, instead we recommend defining indexes in the database schema."
"However, support for legacy indexes remains, because certain features, such as uniqueness constraints, are not yet handled by the new indexes."
不过,我认为这不再是完全正确的,因为 Neo4j 已经支持数据库模式中的唯一约束已有一段时间了: