Searchkick搜索功能不会返回任何结果

时间:2015-10-14 05:31:24

标签: ruby-on-rails neo4j searchkick neo4j.rb

我正在使用Neo4j.rb和searchkick在rails app上使用ruby。

我有以下课程

 NeoUser.reindex

在rails控制台中我做:

result = NeoUser.search "*"

然后:

 CYPHER 36ms MATCH (n:`NeoUser`) RETURN n ORDER BY n.uuid LIMIT   {limit_1000} | {:limit_1000=>1000}
 => true 

我得到一个空数组:即result.size给我0

我的Neo4j数据库中运行的数据是在localhost:7000

上运行的

我的elasticsearch服务器在localhost:9200上运行并运行

NeoUser.find_by()确实给了我正确的结果,所以我无法弄清楚搜索结果搜索功能失败的原因。

有什么想法吗?

编辑:

NeoUser.reindex的输出:

{{1}}

VERSIONS

neo4j(5.2.9)

neo4j-core(5.1.6)

elasticsearch(1.0.13)

elasticsearch-api(1.0.13)

elasticsearch-transport(1.0.13)

searchkick(0.9.1)

是否与我在ubuntu机器上安装了elasticsearch版本1.7.2的事实有关?

编辑2:

我看到当我使用控制台创建数据时,搜索功能可以返回数据。

所以我猜searchkick无法访问我在localhost:9200中运行的原始neo4j数据库。

但是NeoUser.all会返回我的所有数据节点,那么我如何告诉searchkick使用该特定数据库,还是有其他问题?

1 个答案:

答案 0 :(得分:0)

这真的很奇怪。我正在尝试在本地重现,但它对我有用。您的neo4j-core / searchkick / searchkick版本是什么?

一个建议是,您可以尝试将NeoUser.reindex行放在属性下方,以防需要查看它们。

另外,当你NeoUser时,你会看到什么样的输出?你有多少img.[image-class]{ max-width:100%;} 个节点?