Использование WebSoll из вашей среды разработки

Я использую Heroku для нашего приложения, и я начал использовать Solr и надстройку WebSolr для полнотекстового поиска (с драгоценным камнем Sunspot). У меня запущен и работает Solr на моем компьютере для разработки, но я хочу смоделировать производственную среду, чтобы отладить некоторые проблемы, которые я вижу. Теоретически я должен иметь возможность указывать на websolr в моем файле config/sunspot.yml и выполнять поиск, верно? Однако, когда я пытаюсь выполнить поиск, время запроса истекает. Я убедился, что sunspot.yml указывает на правильное место:

development:
    solr:
        hostname: XXX.websolr.com
        port: 8983
        path: /solr/YYY
        log_level: INFO

Я также пытался запустить приложение в рабочей среде, но безуспешно.

Есть идеи?


person Anand Iyer    schedule 08.06.2011    source источник


Ответы (1)


Поскольку Solr — это программное обеспечение с открытым исходным кодом, вы можете запускать его собственный локальный экземпляр, как MySQL, PostgesQL, Redis и т. д.

Поскольку вы используете Sunspot, он уже предоставляет удобную задачу Rake для запуска локального экземпляра Solr. Вы можете запустить следующее из своего приложения Rails:

rake sunspot:solr:start

Таким образом, вам вообще не нужно возиться с вашими конфигами.

Тем не менее, если вы действительно хотите взаимодействовать со своим индексом на Websolr из вашей среды разработки (что может быть удобно в некоторых ситуациях), вам нужно исправить одну крошечную ошибку в вашем sunspot.yml:

development:
  solr:
    ...
    port: 80

А именно, мы используем порт 80.

person Nick Zadrozny    schedule 08.06.2011
comment
Еще раз спасибо, Ник. Да, я думаю, что проблема была в порте. С другой стороны, я заметил, что просто установка переменной среды WEBSOLR_URL также сделала это. - person Anand Iyer; 09.06.2011
comment
Да, хороший момент, Sunspot действительно уважает переменную среды WEBSOLR_URL для дополнения Heroku. - person Nick Zadrozny; 11.06.2011