【问题标题】:Searchkick search function not returning any resultsSearchkick 搜索功能不返回任何结果
【发布时间】:2016-01-12 01:36:17
【问题描述】:

我正在使用 Neo4j.rb 和 searchkick 作为 ruby​​ on rails 应用程序。

我有以下课程

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

在 Rails 控制台中我这样做:

 NeoUser.reindex

然后:

result = NeoUser.search "*"

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

我的 Neo4j 数据库中确实有数据在 localhost:7000 上运行

我的 elasticsearch 服务器在 localhost: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 

版本

neo4j (5.2.9)

neo4j-core (5.1.6)

弹性搜索 (1.0.13)

elasticsearch-api (1.0.13)

弹性搜索传输 (1.0.13)

搜索踢 (0.9.1)

这与我在我的 ubuntu 机器上安装了 elasticsearch 1.7.2 版这一事实有关吗?

编辑 2:

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

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

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

【问题讨论】:

  • 嗯,也许...我正在使用通过 Homebrew 安装的 elasticsearch 1.6.0。去看看能不能更新……
  • 刚刚更新到 1.7.2 并且没有任何问题...您可以尝试将它与 ActiveRecord 一起使用,看看它是 searchkick 还是 neo4j.rb 的问题?

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


【解决方案1】:

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

一个建议是,您可以尝试将 searchkick 行放在属性下方,以防它需要查看它们进行搜索。

另外,当您执行NeoUser.reindex 时,您会看到什么样的输出?你有多少个NeoUser 节点?

【讨论】:

  • 我已经编辑了问题,NeoUser.reindex 没有显示节点数(顺便说一下,这是 18 个(现在只是测试))。
  • 明白了。这对我来说看起来不错。我只是想确保 elasticsearch 在 gem 中调用的 find_in_batches 工作正常。
  • 它适用于 ActiveRecord sqlite,所以我猜问题出在 neo4j.rb
  • 我看到当我使用控制台创建数据时,搜索功能能够返回数据。所以我猜 searchkick 无法访问在我的 localhost 服务器中运行的原始 neo4j 数据库。
  • searchkick 应该根据您使用的模型使用正确的数据库。您是否尝试将呼叫移至searchkick 更低?也许还可以尝试再次调用searchkick index_name: 'foobarindex' 和reindex 来刷新......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
相关资源
最近更新 更多