開発モードでしばらくの間、sunspot の Solr gem を使用しています。アプリケーションを本番環境に移動する必要があります。
バンドルされている sunspot gem を使用して本番環境で solr をセットアップすることの短所はありますか?
私は一般的に tomcat + solr のアイデアが好きですが、セットアップがより複雑です。
黒点同梱の宝石は簡単です。3 つのステージ (ステージング、プロダクション、QA) に 1 つの Rails プロジェクト、2 つのアプリ サーバー、1 つの db/solr サーバーがあるとします。
- Rails プロジェクトを db サーバーにプッシュする
- bundle exec rake sunspot:solr:start for を使用して、実稼働環境の db サーバーで solr を起動します (solr インスタンスごとに異なるポートを使用するだけです)。
- rake sunspot:solr:reindex による再インデックス
- アプリサーバーのsunspot.ymlを変更して、特定のステージポートでdbサーバーに接続するようにします
上記は、プロダクション/ステージング solr の X インスタンスに適用されます。
Tomcat6 + Sunspot はそれほど簡単ではなく、時間と結果が効果的です。私が理解しているように(私を修正してください)、次のことを行う必要があります。
- db サーバーに tomcat をインストールして維持する
- 3 つの solr インスタンスが必要な場合 - 3 つの solr war を個別の solr でデプロイします (または、セットアップが非常に難しいマルチコア solr を使用します)。
- Rails プロジェクトを db サーバーにデプロイする
- Railsでスキーマ/構成/その他を変更するたびに、solr xmlとconfを生成し、それをtomcat webappsにコピーする必要があります
- solr conf/xml のディレクトリを変更して、インデックス ファイルなどを指すようにします。
- すべてのレールでTomcat solrアプリケーションインスタンスをリロードし、デプロイ手順へのスクリプトと「非レール」アプローチを含むものをデプロイします:)