4

アプリに検索機能を組み込む準備をしています。検索で複数のモデルにまたがる機能が必要です。

設定などに基づいて検索するモデ​​ルを決定する検索コントローラーを追加することを考えています...

どう思いますか?検索コントローラーは正しく聞こえますか、それともオープンソースについて考えるべきことはありますか?

ありがとう

4

3 に答える 3

4

Ruby の世界での検索には、次のようないくつかのオプションがあります。

  1. スフィンクス
  2. フェレット
  3. ソル
  4. エンデカ

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 は非常に高価です。基本的な結果を得るためにさえ、ほとんどの予算を費やさなければなりません。

于 2010-10-26T08:59:00.523 に答える
3

Postgresを使用している場合は、pg_searchgemを使用できます

于 2011-11-25T23:39:52.850 に答える
2

Sphinxのようなものでは満たすことができない非常に具体的なニーズがない限り、独自の検索「エンジン」を展開することは避けてください(これも読んでください)

于 2010-10-26T05:02:32.750 に答える