在Cypher WHERE过滤子句中使用neo4j自动索引

Dav*_* B. 5 neo4j cypher

在执行过滤WHERE子句时,Cypher执行引擎是否使用自动索引(节点或关系)属性?如果没有,有没有办法告诉Cypher使用它们?第三方(例如Lucene)指数怎么样?

And*_*res 6

这是我们已经考虑过很多的事情,但唉,还没有.

Neo4j的索引部分很快就会进行大修,当发生这种情况时,我们会将Cypher与它更接近,以便能够做到这一点,以及其他有趣的事情(比如启发式选择合适的索引来使用).

你可以手动完成.如果您有一部电影< - [:ACTS_IN] -actor模型,并且您想要所有参与电影的演员Kevin Bacon,您可以将它写成:

START movie=node:movies("title:M*") 
MATCH movie<-[:ACTS_IN]-actor
WHERE actor.name = "Kevin Bacon"
RETURN movie.title
Run Code Online (Sandbox Code Playgroud)

或者,您可以对索引执行相同的操作:

START movie=node:movies("title:M*"),
      actor=node:actors(name="Kevin Bacon")
MATCH movie<-[:ACTS_IN]-actor
RETURN movie.title
Run Code Online (Sandbox Code Playgroud)

哪一个是最快的很难说.要看.