Heroku - RSolr:: Ошибка::Http (RSolr:: Ошибка::Http - 404 Не найдено

В config/sunspot.yml

production:
  solr:
    hostname: http://index.websolr.com/solr/...
    port: 8983
    log_level: WARNING
    path: /solr/production
...

И моя переменная конфигурации Heroku

http://index.websolr.com/solr/...

И все остальное, кажется, настроено в соответствии с документами, но я продолжаю получать 404 сообщения в журнале, и приложение вылетает. Кто-нибудь сталкивался с этим раньше и сумел это исправить?

2 ответа

Решение

Чтобы уточнить, Sunspot поставляется в комплекте с Solr по умолчанию, но это совершенно отдельно от вашего индекса Websolr. Индексы Websolr управляются через панель инструментов, которую вы можете увидеть, запустив heroku addons:open websolr, Все настройки конфигурации применяются там; Вы не можете запустить / остановить / перезапустить websolr из командной строки.

Согласно документации:

По умолчанию Sunspot 1.3.0 поддерживает WEBSOLR_URL Переменная окружения, используемая вашим приложением Heroku на производстве. Это позволяет Sunspot выполнять действия с вашим индексом без дальнейшей настройки, позволяя пользователям быстро приступить к поиску и запуску без необходимости вносить изменения в кодовую базу своего приложения.

Если вы хотите более детально контролировать, какие серверы Solr вы используете в разных средах, вы можете запустить script/generate sunspot из командной строки в корневом каталоге вашего приложения, чтобы создать файл конфигурации Sunspot по адресу config/sunspot.yml,

Таким образом, вы сможете просто удалить файл sunspot.yml, а Sunspot просто использует значение вашего WEBSOLR_URL, В качестве альтернативы вы можете использовать что-то вроде этого:

production:
   solr:
     hostname: index.websolr.com
     port: 80
     log_level: WARNING
     path: /solr/a1b2c3d4e5 (whatever your key is)

Попробуй это:

  1. Стоп Солр
  2. Удалить папку Solr из папки вашего проекта
  3. Измените путь: /solr/production на: путь: /solr/default
  4. Перезагрузите машину
  5. Начать Solr

Это странно, но у меня работает.

Другие вопросы по тегам