gpt4 book ai didi

ruby-on-rails - RSolr::Error::Http: RSolr::Error::Http - 404 Not Found for Rails 4 and Jetty Solr server on Production

转载 作者:行者123 更新时间:2023-12-03 18:33:49 25 4
gpt4 key购买 nike

我正在使用 Rails 4.0.5 和 sunspot_rails 2.1.1。我在使用 jetty on Production 启动的 solr 服务器时遇到问题。这是我每次运行 rake sunspot:solr:reindex 时遇到的错误:

rake aborted!
RSolr::Error::Http: RSolr::Error::Http - 404 Not Found
Error: Not Found

Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>type:GadgetModel</query></delete>"

Backtrace: /usr/local/rvm/gems/ruby-1.9.3-p484/gems/rsolr-1.0.10/lib/rsolr/client.rb:283:in 'adapt_response'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rsolr-1.0.10/lib/rsolr/client.rb:190:in `execute'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rsolr-1.0.10/lib/rsolr/client.rb:176:in `send_and_receive'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sunspot_rails-2.1.1/lib/sunspot/rails/solr_instrumentation.rb:16:in `block in send_and_receive_with_as_instrumentation'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/activesupport-4.0.5/lib/active_support/notifications.rb:159:in `block in instrument'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/activesupport-4.0.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/activesupport-4.0.5/lib/active_support/notifications.rb:159:in `instrument'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sunspot_rails-2.1.1/lib/sunspot/rails/solr_instrumentation.rb:15:in `send_and_receive_with_as_instrumentation'`

我已经按照 http://blogs.pigrider.com/blogs/26 中的说明设置了我的生产服务器.

从上面的链接中,我尝试将我的 solr 部署在 jetty 上,它运行良好,直到我从 Rails 3 升级到 Rails 4。

我从上面的链接中了解到,1) solr-jetty 服务器(service solr start)和 2)sunspot_solr 服务器(rake sunspot:solr:start ) 开始。但是,我希望独立的 1) solr-jetty 服务器为我的 Rails 应用程序运行。

我的 config/sunspot.yml 文件是这样的:

production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
path: /opt/solr
solr_home: /opt/solr/solr/collection1

# read_timeout: 2
# open_timeout: 0.5

development:
solr:
hostname: localhost
port: 8982
log_level: INFO
path: /solr/development

test:
solr:
hostname: localhost
port: 8981
log_level: WARNING
path: /solr/test

请注意,当我按照博客中的说明操作时,我已将路径solr_home 设置为我认为适合我的配置的内容。

我还检查了/opt/solr/logs/solr.log 下的日志文件。当 reindex 命令返回 404 错误时,日志不会捕获任何内容。

奇怪的是,当我停止 1) solr-jetty 服务器(service solr stop)并运行 2) sunspot_solr 时,它起作用了(rake sunspot:solr:start)。但是我当然不想在我的生产中使用 sunspot_solr 服务器,因为每次服务停止时,我都需要重新索引。

我的 gem 列表是这样的:

sunspot (2.1.1)
sunspot_rails (2.1.1)
sunspot_solr (2.1.1)
rsolr (1.0.10)

我怀疑我的 sunspot.yml 文件配置错误,但我多次尝试更改它们,但服务器一直返回 404 错误。

stackoverflow 中其他地方的其他解决方案对我不起作用。这个问题花了 1 周时间,但仍未解决 :( 感谢任何 solr/rails 专家的帮助。

最佳答案

问题解决了!根据博客,solr 服务器将安装在 collection1 下,因此路径和 solr_home 应该是 'path:/solr/collection1' 和 'solr_home: solr'

关于ruby-on-rails - RSolr::Error::Http: RSolr::Error::Http - 404 Not Found for Rails 4 and Jetty Solr server on Production,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24287983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com