アプリに検索機能を組み込む準備をしています。検索で複数のモデルにまたがる機能が必要です。
設定などに基づいて検索するモデルを決定する検索コントローラーを追加することを考えています...
どう思いますか?検索コントローラーは正しく聞こえますか、それともオープンソースについて考えるべきことはありますか?
ありがとう
アプリに検索機能を組み込む準備をしています。検索で複数のモデルにまたがる機能が必要です。
設定などに基づいて検索するモデルを決定する検索コントローラーを追加することを考えています...
どう思いますか?検索コントローラーは正しく聞こえますか、それともオープンソースについて考えるべきことはありますか?
ありがとう
Ruby の世界での検索には、次のようないくつかのオプションがあります。
heroku のドキュメントを見ると、heroku は素晴らしい検索エンジンである solr を提案しています。http://docs.heroku.com/websolrおよびhttp://docs.heroku.com/full-text-searchで詳細を確認できます。プロジェクトの 1 つで検索に solr を選択し、sunspot_rails を使用しました。これは、モデルとうまく統合され、コンテンツが変更されたときにインデックスを再作成します。heroku も推奨するhttp://github.com/outoftime/sunspotの gem sunspot_rails を使用しました。
ただし、heroku のファイル システムは読み取り専用であり、任意のプロセスを実行することはできないため、websolr (月額 20 ドルから) のようなものを選択するか、独自の amazon ec2 インスタンスを生成してそこでインデックスを作成する必要があります。heroku は amazon ec2 でも実行されているため、レイテンシーは非常に少なくなります。
代替案に戻ると、Ferret は本番環境で頻繁にインデックスをクラッシュ/破損させることが知られています。Sphinx は heroku ではサポートされていません。Endeca は非常に高価です。基本的な結果を得るためにさえ、ほとんどの予算を費やさなければなりません。
Postgresを使用している場合は、pg_searchgemを使用できます