Когда я должен создать соединение Solr в приложении Rails
Я обращаюсь к Solr в приложении Ruby on Rails с помощью rsolr (не Sunspot). Я создаю локальный объект solr, который я использую для отправки запросов следующим образом:
solr = RSolr.connect(:url => "http://localhost:8983/solr")
Насколько я понимаю, это на самом деле не соединение, а просто объект, который будет выдавать запросы по требованию, поэтому его инициализация не должна быть дорогой, и она никогда не должна отключаться. В соответствии с этим, должно быть нормально иметь один глобальный объект solr, создать его во время запуска и забыть об этом. Правильно? Но, может быть, это не безопасно поток?
Когда я должен создать соединение Solr?
1 ответ
Все что RSolr.connect
Метод действительно дезинфицирует и сохраняет параметры, которые вы используете. Вы можете увидеть этот метод здесь. Передан новый объект подключения (который, в частности, не имеет initialize
метод, поэтому он ничего не делает при создании) и параметры, которые вы передаете RSolr.connect
,
Так что да, вы правы - никакого вреда в том, чтобы соединиться один раз и оставить его подключенным навсегда, где-то зависать в переменной. (Например, я запоминаю результат RSolr.connect
в моем приложении Solr/Rails.)