运行Rails 4.0.1和Sunspot 2.1.0,我设法在开发中运行太阳黑子,但是当我尝试执行查询或索引时,我收到以下错误:
RSolr::Error::Http (RSolr::Error::Http - 404 Not Found
Error: Not Found
Request Data: "fq=type%3AMatch&q=arsenal&defType=edismax&start=0&rows=10"
Backtrace: /Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/rsolr-1.0.10/lib/rsolr/client.rb:283:in `adapt_response'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/rsolr-1.0.10/lib/rsolr/client.rb:190:in `execute'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/rsolr-1.0.10/lib/rsolr/client.rb:176:in `send_and_receive'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/sunspot_rails-2.1.0/lib/sunspot/rails/solr_instrumentation.rb:16:in `block in send_and_receive_with_as_instrumentation'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.0.1/lib/active_support/notifications.rb:159:in `block in instrument'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.0.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/activesupport-4.0.1/lib/active_support/notifications.rb:159:in `instrument'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/sunspot_rails-2.1.0/lib/sunspot/rails/solr_instrumentation.rb:15:in `send_and_receive_with_as_instrumentation'
(eval):2:in `post'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/sunspot-2.1.0/lib/sunspot/search/abstract_search.rb:45:in `execute'
/Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/sunspot-2.1.0/lib/sunspot/session.rb:59:in `search'):
app/models/match.rb:483:in `upcoming_games'
app/controllers/tickets_controller.rb:34:in `search'
Rendered /Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.6ms)
Rendered /Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
Rendered /Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.8ms)
Rendered /Users/bashar/.rvm/gems/ruby-2.1.1@global/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (13.1ms)
这是我的sunspot.yml
production:
solr:
hostname: ENV['WEBSOLR_URL']
port: 80
log_level: WARNING
path: /solr/production
# read_timeout: 2
# open_timeout: 0.5
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
path: /solr/development
# solr_home: solr
test:
solr:
hostname: localhost
port: 8981
log_level: WARNING
path: /solr/test
注意我尝试了不同的solr_home配置,尝试删除solr文件夹并按照别处的建议重新启动太阳黑子,并确保pid Rails尝试连接是相同的。
我知道还有其他类似的帖子,但没有提供适合我的解决方案。有什么想法吗?
对于它的价值,我正在使用Mongoid。但这似乎并不相关。
答案 0 :(得分:0)
尝试从sunspot.yml中的生产配置中删除“path”指令,很可能solr_home指向默认目录(/ solr),其中索引实际存在
你可以试试这个:$ ps aux | grep solr
并在此处发布输出?