ruby-on-rails - 如何将最新版本的 Sunspot gem 与 Solar Cell 一起使用?

标签 ruby-on-rails solr sunspot solr-cell

我一直在尝试(徒劳)获得与 Solr Cell 一起使用的最新版本的 Sunspot gem(当前为 2.0.0.pre.111215,包含 Solr 3.5)。

目前,我将旧版本的 Sunspot 与以下插件提供的 Solr Cell 结合使用 - https://github.com/chebyte/sunspot_cell .

我的这个配置的 Gemfile 如下;

gem 'sunspot', '1.2.1'
gem 'sunspot_rails' 

不幸的是,这种旧的 Solr/Solr 单元组合不适用于许多较新的 PDF 文件。 Apache 推荐的解决方案是升级到两者的最新版本。

Sunspot Solr Cell 的 bolt 连接似乎没有得到很好的支持。最近更新的版本已经从插件切换到 Gem,但我仍然无法让它与最新版本的 Sunspot Gem 一起使用。 https://github.com/zheileman/sunspot_cell

有谁知道正确的 Gemfile 配置可以让元素一起很好地发挥作用?我最接近的是这个。
gem 'sunspot_cell', :git => 'git://github.com/zheileman/sunspot_cell.git'
gem 'sunspot', :git => "git://github.com/sunspot/sunspot.git"
gem 'sunspot_rails', :git => "git://github.com/sunspot/sunspot.git", :require => "sunspot_rails"

group :development, :test do
  gem 'sunspot_solr', :git => "git://github.com/sunspot/sunspot.git"
end

当我运行任何 rake 任务时,我收到以下错误。
uninitialized constant Sunspot::RSolr

如果我暂时将 sunspot_cell gem 注释掉,我可以运行 Rake 任务,但实际搜索失败。

我已经尝试手动使用 this gem 中的 Solr jar 文件而不是捆绑在 sunspot_solr 中的那些,但也没有成功。

最佳答案

经过一些试验和错误后,这个问题的答案比我希望的要容易。这些 gem 显然以错误的顺序指定。我没有意识到这有什么不同。我改变了顺序,使 sunspot_cell 排在最后,它突然变成了一样。魔法! (几乎)。

gem 'sunspot', :git => "git://github.com/sunspot/sunspot.git"
gem 'sunspot_rails', :git => "git://github.com/sunspot/sunspot.git", :require => "sunspot_rails"
gem 'sunspot_cell', :git => 'git://github.com/zheileman/sunspot_cell.git'

关于ruby-on-rails - 如何将最新版本的 Sunspot gem 与 Solar Cell 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8942589/

相关文章:

mysql - Kubernetes 中的作业出错(如何使用 Kubernetes 部署 Rails 应用程序?)

python - 远程连接设备的作业队列

ruby-on-rails - 一个大对象还是一个小加一个大信息对象?

java - 为什么 Solr 不按最大相似度因子进行排名?

indexing - 长时间重建后确保 Solr/Lucene 索引为 "up to date"的最佳实践

ruby-on-rails - 如何使用 MongoMapper 追踪内存泄漏?

solr - 太阳黑子和轮胎 gem 的区别

ruby-on-rails - Sunspot Solr 连接被拒绝

ruby-on-rails - 太阳黑子通过电子邮件完全匹配搜索

ruby-on-rails - Sunspot Solr Search like Rails active record 'LIKE' search