我的neo4j rails项目遇到了一些问题。我试图让查询工作,但我一直得到Index 'node_auto_index' does not exist
。如果您运行的是单独的neo4j服务器,我发现this link似乎可以解决这个问题。但是我不是,我正在使用neo4j.rb gem来修复所有这些,所以在任何地方都没有neo4j.properties
文件。
我虽然在config/application.rb
中镜像了neo4j.properties,但是当我尝试config.neo4j.node_auto_indexing = true
时,它没有帮助。
我正在尝试的密码查询是这样完成的:
@q = Neo4j._query("CYPHER 1.9 START n=node:node_auto_index('name:*{query}*')
MATCH (n)-[r:CONNECTED*0..6]-(tag)
RETURN reduce(sum = 1, ni IN r: sum * ni.price) LIMIT 6", 'query' => params[:query])
#I have tried with and without the "CYPHER 1.9" part.
我该如何解决这个问题?是否有一种简单的方式来做同样的请求?请注意reduce
的使用,这很重要。
有没有办法让node_auto_index在Neo4j.rb中运行?
任何帮助都会受到很大关注!
版本:
答案 0 :(得分:0)
您必须先初始化自动索引,然后才能进行查询。如果您的数据库不是太大,请尝试运行:
start n=node(*)
set n.name=n.name;
此外,我注意到您将reduce
中的价格相乘 - 看起来您正在计算总和,因此您可能希望使用+
运算符。