Вопрос по ruby, solr, sunspot, ruby-on-rails – Отказ в соединении при использовании Sunspot и Solr в Rails

2

У меня проблема, из-за которой я получаю ошибку ECONNREFUSED, когда пытаюсь выполнить поиск с использованием sunspot_rails. Похоже, что гемы (sunspot_rails и sunspot_solr) установлены правильно. Я работаю с версией1.3.3 и у меня сервер работает правильно.

Я нашел другой пост об этом, но в этом посте рекомендовалось только запустить сервер sunspot solr. Я определенно сделал это, но ошибка не исчезла.

Я считаю, что проблема связана с портом, на котором работает сервер. Когда я смотрю на вывод изRAILS_ENV=development rake sunspot:solr:run, это показывает, что сервер работает на порту8983, Я также попробовал командуRAILS_ENV=production rake sunspot:solr:run с тем же эффектом.

Если я изучуsunspot.yml Конфигурационный файл, он показывает следующее:

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

Обратите внимание, что этоsupposed быть в порту8982 для развития, но независимо от того, что я делаю, кажется, продолжает перезапускать сервер на порт8983, Есть идеи, как это могло произойти?

Спасибо!

Update: Я нашел потенциальную причину. В папке моего проекта файл/solr/conf/scripts.conf содержит следующее:solr_port=8983, Кажется, это подразумевает использование порта с жестким кодом независимо от того, какая среда Rails активна.

Это ошибка от Sunspot. И, как я вижу, вы это знаете :)github.com/sunspot/sunspot/issues/262 Adrien
@ BenMiller Хм, я на машине с Windows - выдаю командуrake sunspot:solr:stop встречается с сообщением:This command is not supported on i386-mingw32. Use rake sunspot:solr:run to run Solr in the foreground. Есть ли другой способ убить процесс solr? aardvarkk
@AdrienGiboire Ха, да, я понял это прошлой ночью и представил ошибку. Черт возьми, я дам тебе награду за другого и сам отвечу на это. Спасибо за внимание! aardvarkk
Я не использую Sun Spot на окнах. Не уверен, куда идти отсюда. Вы можете проверить свой диспетчер задач и убедиться, что процесс не запущен. Ben Miller
Я заметил, что иногда грабли для солнечных пятен на самом деле не останавливают работу. Это может привести к тому, что в следующий раз, когда вы попытаетесь запустить solr, он говорит, что запустился, но на самом деле не работает. Попробуйте вручную убить процесс solr. Если вы уверены, что он не запущен, попробуйте начать с нужной среды. Ben Miller

Ваш Ответ

1   ответ
0

Оказывается, это была ошибка в Sunspot. Вот ссылка на проблему, которую я подал для полного описания:

https://github.com/sunspot/sunspot/issues/262

Мой обходной путь - отредактировать файл .yml и изменить все порты (тестирование, разработка и производство) на 8983.

Похожие вопросы