Searchkick搜索功能不返回任何结果
我正在使用Neo4j.rb和searchkick在rails应用程序上进行ruby操作。Searchkick搜索功能不返回任何结果
我有下面的类
class NeoUser
include Neo4j::ActiveNode
searchkick
property :first_name, type: String
property :last_name, type: String
property :email, type: String
has_many :out, :neo_users, rel_class: Following
end
在轨控制台我做的:
NeoUser.reindex
然后:
result = NeoUser.search "*"
我得到一个空数组回:即结果。尺寸给我0
我有在本地主机上运行我的Neo4j数据库中的数据:7000
我有我的elasticsearch服务器并在本地主机上运行:9200
NeoUser.find_by()不给我正确的结果,所以我无法找出searchkick搜索功能失败的原因。
任何想法?
编辑:
NeoUser.reindex的输出:
CYPHER 36ms MATCH (n:`NeoUser`) RETURN n ORDER BY n.uuid LIMIT {limit_1000} | {:limit_1000=>1000}
=> true
VERSIONS
Neo4j的(5.2.9)
Neo4j的核(5.1.6)
elasticsearch(1.0.13)
elasticsearch-API(1.0.13)
elasticsearch运输(1.0.13)
searchkick(0.9.1)
它是否有事情请问我在我的ubuntu机器上安装了elasticsearch版本1.7.2?
编辑2:
我看到,当我使用控制台创建数据,搜索功能是能够返回的数据。
所以我想searchkick无法访问我的本地主机上运行的原始neo4j数据库:9200。
但NeoUser.all确实会返回我所有的数据节点,那么如何告诉searchkick使用特定的数据库,还是存在其他一些问题?
这真的很奇怪。我试图在本地复制,但它为我工作。你有什么版本的neo4j
/neo4j-core
/searchkick
?
一个建议是,你可以尝试把你的searchkick
行放在属性的下面,以防需要看到它们进行搜索。
另外,当你做什么NeoUser.reindex
时,你会看到什么样的输出?你有多少个NeoUser
节点?
我编辑了这个问题,并且NeoUser.reindex没有显示出我的节点数量(这是18的方式(现在只是测试))。 –
Gotcha。这对我来说看起来很好。我只是想确保elasticsearch在gem中调用的'find_in_batches'正在工作。 –
它与ActiveRecord sqlite工作正常,所以我想问题是与neo4j.rb –
Hrmmm,也许...我使用的是我通过Homebrew安装的elasticsearch 1.6.0。去看看我是否可以更新... –
刚刚更新到1.7.2,没有任何问题...你可能会尝试使用它与ActiveRecord,看看它是否与Searchkick或与neo4j.rb的问题? –