基于属性的Neo4j密码查询匹配优化

基于属性的Neo4j密码查询匹配优化,neo4j,cypher,Neo4j,Cypher,我有一个密码查询执行得非常糟糕(约30秒): START foo=node:foos('Name:') MATCH foo如果不想生成查询,请尝试更早地进行筛选? 像 START foo=node:foos('Name:') 其中foo.Name位于[“name1”,“name2”] 和福 MATCH foo如果不想生成查询,请尝试更早地进行筛选? 像 START foo=node:foos('Name:') 其中foo.Name位于[“name1”,“name2”] 和福 MATCH fooI

我有一个密码查询执行得非常糟糕(约30秒):

START foo=node:foos('Name:')

MATCH foo如果不想生成查询,请尝试更早地进行筛选? 像

START foo=node:foos('Name:')
其中foo.Name位于[“name1”,“name2”]
和福

MATCH foo如果不想生成查询,请尝试更早地进行筛选? 像

START foo=node:foos('Name:')
其中foo.Name位于[“name1”,“name2”]
和福

MATCH fooI仍然更喜欢第二个,它将名称查找向下推到lucene。毕竟这就是它的目的。我仍然更喜欢第二个,它将名称查找向下推到lucene。毕竟,这就是为什么。
START foo=node:foos('Name:*')
MATCH foo<-[:HasMember]-()<-[:PartOf]-()<-[:Connected]-bar
WHERE foo.Name IN ["name1", "name2"] AND bar.Enabled = true
RETURN DISTINCT bar.Guid AS Guid, foo.Name AS Name
START foo=node:foos('Name:"name1" OR Name:"name2"')
MATCH foo<-[:HasMember]-()<-[:PartOf]-()<-[:Connected]-bar
WHERE bar.Enabled = true
RETURN DISTINCT bar.Guid AS Guid, foo.Name AS Name
START foo=node:foos('Name:*')
WHERE foo.Name IN ["name1", "name2"]
WITH foo
MATCH foo<-[:HasMember]-()<-[:PartOf]-()<-[:Connected]-bar
WHERE bar.Enabled = true
RETURN DISTINCT bar.Guid AS Guid, foo.Name AS Name