sunspot_rails를 사용하여 검색을 수행 할 때 ECONNREFUSED 오류가 발생하는 문제가 있습니다. 보석 (sunspot_rails 및 sunspot_solr) 모두 제대로 설치된 것 같습니다. 버전 1.3.3
을 실행 중이며 올바르게 실행중인 서버가 있습니다.Sunspot 및 Solr in Rails를 사용하여 연결이 거부되었습니다.
나는 이것에 관해 또 다른 게시물을 발견했으나, 게시물은 sunspot solr 서버 시작을 권장했다. 나는 확실히 그 일을했지만 오류는 계속 발생합니다.
나는이 문제가 서버가있는 포트 때문이라고 생각합니다. RAILS_ENV=development rake sunspot:solr:run
의 출력을 보면 서버가 포트 8983
에서 실행 중임을 나타냅니다. 또한 같은 효과를 내기 위해 RAILS_ENV=production rake sunspot:solr:run
명령을 시도했습니다. 이 개발을위한 포트 8982
에있을을 생각하지만 아무리 내가 뭘가 다시 시작 유지하는 것 없다
production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
test:
solr:
hostname: localhost
port: 8981
log_level: WARNING
주의 사항 : 나는 sunspot.yml
설정 파일을 검사하는 경우
는, 다음을 보여줍니다 서버의 포트 8983
. 어떻게 이런 일이 일어날 지 알기나 해?
감사합니다.
업데이트 : 나는 잠재적 인 원인을 발견했습니다. 내 프로젝트 폴더에서 /solr/conf/scripts.conf
파일은 다음을 포함합니다 : solr_port=8983
. 이것은 Rails 환경이 활성화되어 있더라도 하드 코딩 된 포트를 의미하는 것으로 보입니다.
나는 모든 포트를 (테스트, 개발 및 생산)를 변경하는 것이 었습니다 : 저는 여기에 대한 자세한 설명은 제기 한 문제에 대한 링크입니다 때때로 흑점에 대한 레이크 작업이 실제로 solr을 멈추게하지 않는 것을 알아 챘습니다. 이것은 다음에 solr을 시작하려고 할 때 발생할 수 있습니다. 실제로 시작되지만 실제로 실패합니다. solr 프로세스를 수동으로 종료하십시오. 실행되고 있지 않다고 확신되면 원하는 환경에서 시작하십시오. –
@BenMiller 흠, 나는 윈도우 머신에있다.'rake sunspot : solr : stop' 명령은 다음 메시지와 함께 만난다 :'이 명령은 i386-mingw32에서 지원되지 않는다. rake sunspot : solr : run을 실행하여 Solr을 포 그라운드로 실행하십시오. 'solr 프로세스를 죽일 다른 방법이 있습니까? – aardvarkk
Windows에서 Sun Spot을 사용하지 않았습니다. 여기에서 어디로 가야할지 모르겠다. 작업 관리자를 확인하고 실행중인 프로세스가 없는지 확인할 수 있습니다. –