我正在使用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使用特定的数据库,还是存在其他一些问题?
Hrmmm,也许...我使用的是我通过Homebrew安装的elasticsearch 1.6.0。去看看我是否可以更新... –
刚刚更新到1.7.2,没有任何问题...你可能会尝试使用它与ActiveRecord,看看它是否与Searchkick或与neo4j.rb的问题? –