2014-06-18 1 views
3

sunspot_rails 2.1.1에서 Rails 4.0.5를 사용 중입니다. 생산시 부두로 시작한 솔라 서버에 문제가 있습니다. 내가 레이크 태양 흑점을 실행할 때마다 내가 점점 오전 오류입니다 : SOLR : 색인화 :RSolr :: Error :: Http : RSolr :: Error :: HTTP 404 - 프로덕션의 Rails 4 및 Jetty Solr 서버에서 404를 찾을 수 없음

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의 지시에 따라 내 프로덕션 서버를 설정했습니다. 위의 링크에서

, 나는 내가 레일에 레일 3에서 업그레이드 할 때까지 잘 작동했다 부두 내 SOLR를 배포하려 4.

내가 실현 그 위의 링크, 모두 1) SOLR-부두에서 서버 (service solr start) 및 2) sunspot_solr 서버 (rake sunspot:solr:start)가 시작됩니다. 그러나, 나는 독립적 인 1) solr-jetty 서버를 내 레일 앱으로 돌리고 싶습니다.

내 설정/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 서버를 사용하지 않기 때문에 다시 색인해야합니다.

내 보석의 목록은 다음과 같은 것이다 : 내 sunspot.yml 파일이 잘못 구성되어 있지만 내가 그들을 변경 여러 번 시도했지만 서버가 404 오류를 반환 유지하는 것이 의심하고

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

.

다른 해결책은 stackoverflow의 다른 곳에서 작동하지 않습니다. 1 주일 동안이 문제가 해결되었지만 여전히 해결되지 않았습니다. (도움이 될만한 solr/rails 전문가의 이해.)

답변

3

문제 해결 블로그를 기반으로 solr 서버가 collection1에 설치되므로 경로와 solr_home이 있어야합니다. 'path :/solr/collection1'and 'solr_home : solr'

+2

감사합니다! 당신은 이번 주 내 개인적인 신입니다! 저에게 어떤 의미가없는 곳에서의 설정은 제 일을 파악하는 데 걸렸을 것입니다. 자신의. – Saifis

+0

당신은 오신 것을 환영합니다 :) – jaxxie