0

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
4

2 に答える 2

1

さらに、WebSolr アドオンを使用している場合、実際には 2 つのインデックスが提供されます。websolr コンソールにログインすると、そこで 2 つ目のインデックスを作成でき、ステージング サイトからそのインデックスを指すことができます。

于 2011-02-23T06:08:26.647 に答える
1

Solr の全文検索を使用しておらず、Rails 2 を使用している場合、record_filter の構文は非常に似ています: https://github.com/aub/record_filter

そうは言っても、おそらく最善の策は、同じインターフェースを提示するが内部でそれぞれ Solr と SQL を使用する 2 つのアダプター クラスを定義することです。

于 2011-01-28T13:01:39.797 に答える