我正在使用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使用该特定数据库,还是有其他问题?
答案 0 :(得分:0)
这真的很奇怪。我正在尝试在本地重现,但它对我有用。您的neo4j-core
/ searchkick
/ searchkick
版本是什么?
一个建议是,您可以尝试将NeoUser.reindex
行放在属性下方,以防需要查看它们。
另外,当你NeoUser
时,你会看到什么样的输出?你有多少img.[image-class]{ max-width:100%;}
个节点?