私はDreamhostでホストされている約500の写真と150人の訪問者を持つ小さなサイトを持っています。 は、共有ホストで許可されていない長い時間のプロセスを実行する必要のない単純な検索エンジンを追加したいと思います。Ruby On Railsで検索
検索エンジンは、様々なモデルに属する別のフィールドを処理する必要があります:写真、Photo.author.name、Photo.comments.contentおよび他の多く
を助けることができる任意のプラグインはありますか?
私はDreamhostでホストされている約500の写真と150人の訪問者を持つ小さなサイトを持っています。 は、共有ホストで許可されていない長い時間のプロセスを実行する必要のない単純な検索エンジンを追加したいと思います。Ruby On Railsで検索
検索エンジンは、様々なモデルに属する別のフィールドを処理する必要があります:写真、Photo.author.name、Photo.comments.contentおよび他の多く
を助けることができる任意のプラグインはありますか?
一般に共有ホスティング環境で利用できるMySQLの全文検索機能は、この種の機能を追加するのに最適です。唯一の欠点は、InnoDBのために一般的に非推奨になっているMyISAMテーブルでのみ動作することです。
Wikipediaのデータベースアーキテクチャの大きな例である仕事を見てきたアプローチは、検索目的でモデルレコードの派生コピーを作成することです。これらはメインレコードと同期しておく必要がありますが、それはafter_saveハンドラまたは簡単なSQL更新ステートメントで簡単に実行できます。
ActiveRecordはフルテキストインデックスを理解することができません。私はMySQLのハッキングのコレクションに束ね例を持っていないのに、むしろ醜い延長は、それが協力にするために必要とされる:
http://github.com/theworkinggroup/rails_mysql_hacks/tree/master
acts_as_ferret
があなたによく役立つでしょう。
しかしとどのようにフェレットはあなたのような設定で実行するかどうかはわかりません。
あなたは、高速フルテキストのスフィンクスを考える/スフィンクスに見たいと思うかもしれませんサーチ。
Unixのパッケージをインストールする場合、私は知らないし、その全体のプロセスは、あなたがDreamhostの上で探しているもののためにやり過ぎですが、それが中によくあなたのニーズに応えるだろう、非常に高速かつ堅牢なソリューションです未来。
スフィンクスは本当にうまくいっていますが、デーモンが必要です:( – collimarco
フェレットまたはスフィンクスは、専用のバックグラウンドプロセスが必要です。あなたの唯一のオプションは、適切なインデックスを持つMySQLフルテキスト検索のようです。
Railsのための少なくとも3全文検索エンジンがあります。
1が最良の選択でしょうか?場合によります。 HereあなたはEngine Yardからのコメントを含めて、スフィンクスとフェレットの比較を読むことができます。
彼らはすべてバックグラウンドプロセスが必要です... – collimarco
私はacts_as_indexedプラグインがあなたのニーズに最適な賭けだと思います。別のサーバーは必要ありません。ファイルシステムに自動的に索引を作成します。あなたのサイトに似たサイトでは、構成がすばやく簡単でした。
フェレットがバックグラウンドプロセスとして実行されたという印象を受けました。 – tadman
フェレットにバックグラウンドプロセスが必要かどうかは誰にも分かりますか? – collimarco
DRbサーバーを運用環境で実行する必要があります。フェレットは芝生なので、何かそんなに多くの問題を抱えていない何かを探すべきです。 –