📜  Neo4j 创建索引(1)

📅  最后修改于: 2023-12-03 15:33:05.793000             🧑  作者: Mango

Neo4j 创建索引

在使用Neo4j进行数据查询时,索引可以加速查询速度。Neo4j支持多种类型的索引,包括基于节点和关系属性的索引。下面介绍如何在Neo4j中创建索引。

基于节点属性的索引

使用基于节点属性的索引可以加速节点的查询。下面是创建节点属性索引的步骤。

首先,在Neo4j中创建节点。

CREATE (n:Person {name: "Alice", age: 30})

在创建节点后,可以使用以下语句创建一个基于name属性的索引。

CREATE INDEX ON :Person(name)

这将在Person标签上创建一个名为name的索引。然后,可以使用以下语句查询Person标签上的name属性。

MATCH (n:Person)
WHERE n.name = "Alice"
RETURN n

此查询将使用创建的索引加速查询过程。

基于关系属性的索引

使用基于关系属性的索引可以加速关系的查询。下面是创建关系属性索引的步骤。

首先,在Neo4j中创建两个节点。

CREATE (n1:Person {name: "Alice", age: 30})
CREATE (n2:Person {name: "Bob", age: 35})
CREATE (n1)-[:FRIEND]->(n2)

在创建节点和关系后,可以使用以下语句创建一个基于since属性的索引。

CREATE INDEX ON :FRIEND(since)

这将在FRIEND关系上创建一个名为since的索引。然后,可以使用以下语句查询FRIEND关系上的since属性。

MATCH (n1:Person)-[r:FRIEND]-(n2:Person)
WHERE r.since > 2000
RETURN n1, n2

此查询将使用创建的索引加速查询过程。

小结

在Neo4j中创建索引可以加速节点和关系的查询。基于节点属性的索引可以在标签上创建,基于关系属性的索引可以在关系上创建。创建索引后,可以通过查询使用它们加速查询。