1

我的 neo4j rails 项目有一些问题。我正在尝试让查询正常工作,但我一直在获取Index 'node_auto_index' does not exist. 如果您正在运行单独的 neo4j 服务器,我发现此链接似乎可以解决此问题。但是我不是,我使用的是 neo4j.rb gem,它为我解决了所有这些问题,所以neo4j.properties任何地方都没有文件。

我虽然 neo4j.properties 被镜像到了config/application.rb,但是当我尝试这样做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.

我该如何解决这个问题?有没有一种 lucene 方式来做同样的请求?注意使用reduce哪个很重要。

有没有办法让 node_auto_index 在 Neo4j.rb 中工作?

任何帮助将不胜感激!


版本:

  • jRuby 1.7.4
  • 宝石'导轨','3.2.14'
  • 宝石'neo4j','2.3.0-java'
4

1 回答 1

0

您必须先初始化自动索引,然后才能查询它。如果您的数据库不是太大,请尝试运行:

start n=node(*) 
set n.name=n.name;

另外,我注意到您将价格相乘在reduce--looks 中,就像您在计算总和一样,因此您可能想要使用+运算符。

于 2013-09-22T12:19:36.687 回答