Graph Neo4J索引如何

Graph Neo4J索引如何,graph,indexing,neo4j,Graph,Indexing,Neo4j,我是graphdb和Neo4J的新手,所以我认为购买他们的graphdb新书会是一个很好的开始,但我非常失望,因为我甚至不能在书中继续下去 问题是我不理解索引,它是如何工作的,他们甚至没有解释,比如下面的代码: CREATE (alice {username: 'Alice'}), (bob {username: 'Bob'}), (charlie {username: 'Charlie'}), (davina {username: 'Davina'}), (edward {username:

我是graphdb和Neo4J的新手,所以我认为购买他们的graphdb新书会是一个很好的开始,但我非常失望,因为我甚至不能在书中继续下去

问题是我不理解索引,它是如何工作的,他们甚至没有解释,比如下面的代码:

CREATE (alice {username: 'Alice'}), (bob {username: 'Bob'}), (charlie {username: 'Charlie'}),
(davina {username: 'Davina'}), (edward {username: 'Edward'}), (alice)-[:ALIAS_OF]->(bob);
当我输入这个时:

START bob=node:user(username='bob'), charlie=node:user(username='Charlie'), davina=node:user(username='Davina'), edward=node:user(username='Edward')
CREATE(bob)-[:EMAILED]->(charlie), (bob)-[:CC]->(davina),(bob)-[:BCC]->(edward)
我得到以下错误:==>MissingIndexException:Index
user
不存在


有人能解释一下我是如何为“用户”编制索引的吗?

Neo4j默认使用Lucene支持的反向索引。所以知道它会帮助你更好地理解。我为此写了一篇博客


现在,查询中的问题是,您要求neo4j在索引
user
的key
username
下搜索
bob
。要使其正常工作,您需要启用或通过编程控制它。

因此,如果我理解正确,并且没有通过编程控制索引,那么我必须这样编写:
START bob=node:node\u auto\u index(username='bob')、charlie=node:node\u auto\u index(username='charlie')、davina=node:node\u auto\u index(username='charlie')、davina=node:node\u auto\u index(username='Davina'),edward=node:node_auto_index(username='edward')CREATE(bob)-[:EMAILED]->(charlie),(bob)-[:CC]->(Davina),(bob)-[:BCC]->(edward);
并对配置进行以下更改:node_auto_indexing=true node_keys_indexable=username@ZuhaibMian这是正确的。您仍然需要告诉neo4j为username属性编制索引。如果这对您有帮助,请接受这个答案。@Pangae好的,谢谢,我会尝试一下,看看会发生什么。