Ruby: ухудшение поиска Sunspot до SQL - PullRequest
0 голосов
/ 28 января 2011

У меня запущено 3 приложения на Rails:

  1. Локальная разработка (с установленным Sunspot)
  2. Постановка на Heroku (работает «рабочая» среда Rails)
  3. Производство на Heroku (с рабочей средой Rails)

Использование Solr в Heroku стоит денег, и я добавлю его в свое производственное приложение. Я не хочу добавлять Solr в мое промежуточное приложение, поскольку производительность не критична.

Мне интересно, есть ли достойный способ снизить количество вызовов Sunspot / Solr к SQL-запросам.

Вызовы Sunspot в моем контроллере выглядят следующим образом:

@search = Search.find(params[:id])
@results = Listing.search do |query|
  query.with(:city).any_of @search.cities if @search.cities
  query.with(:county).any_of @search.counties if @search.counties
  ...
end

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Кроме того, если вы используете надстройку WebSolr, они фактически предоставляют вам два индекса - если вы войдете в консоль websolr, это позволит вам создать второй индекс там, и вы можете указать этот индекс из своей промежуточнойсайт.

1 голос
/ 28 января 2011

Если вы не используете полнотекстовый поиск Solr и используете Rails 2, record_filter имеет очень похожий синтаксис: https://github.com/aub/record_filter

Тем не менее, вам лучше всего определить два класса адаптеров, которые представляют один и тот же интерфейс, но используют Solr и SQL соответственно.

...