Когда я должен создать соединение Solr в приложении Rails - PullRequest
1 голос
/ 22 декабря 2011

Я обращаюсь к Solr в приложении Ruby on Rails, используя rsolr (не Sunspot).Я создаю локальный объект solr, который я использую для отправки запросов, например:

solr = RSolr.connect(:url => "http://localhost:8983/solr")

, насколько я понимаю, это на самом деле не соединение, а просто объект, который будет выдавать запросы по запросу, поэтому он не долженне дорого поддерживать его инициализацию, и он никогда не должен отключаться .В соответствии с этим, должно быть нормально иметь один глобальный объект solr, создать его во время запуска и забыть об этом.Правильно?Но, может быть, это не потокобезопасно?

Когда мне следует создавать соединение solr?

1 Ответ

2 голосов
/ 10 июня 2012

Все, что на самом деле делает метод RSolr.connect, - это санация и сохранение используемых вами параметров. Вы можете увидеть этот метод здесь. Передан новый объект соединения (который, в частности, не имеет метода initialize, поэтому он ничего не делает при создании) и параметры, которые вы передаете RSolr.connect.

Так что, да, вы правы - совсем не вредно, если вы подключаетесь один раз и оставляете его подключенным навсегда, где-то зависая в переменной. (Например, я запоминаю результат RSolr.connect в моем приложении Solr / Rails. )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...