我们已为节点和关系启用了自动索引。默认情况下,NEO4J将创建一个名为" node_auto_index"的索引。对于节点和" relationship_auto_index"为了关系。但MATCH查询似乎正在执行(与Elasticsearch中的类似数据集相比)。看起来他们没有使用索引。
有没有办法让MATCH子句使用auto_index?
我们也尝试查看架构索引。看起来它只能创建节点索引。我们的查询在关系上使用了一些属性,因此即使在使用模式索引之后,查询在性能上也是不可接受的。 有没有办法创建架构关系索引?
答案 0 :(得分:0)
node_auto_index不用于匹配,您必须使用start子句来访问该旧索引。
e.g。
START user=node:node_auto_index(name="Siddarth")
MATCH (user)-[:KNOWS]->(friend)
RETURN friend
在Neo4j 2.0中,您可以创建索引或唯一约束
create index on :User(name);
然后在MATCH中使用它
MATCH (user:User {name:"Siddarth"})-[:FRIEND]->(friend)
RETURN friend
另见手册:http://docs.neo4j.org/chunked/milestone/query-schema-index.html 和cypher refcard:http://neo4j.org/resources/cypher