0

私のウェブサイトに検索/閲覧機能を追加したいと思います。私はRailのfindメソッドをThinking Sphinxや他の検索フレームワークを使って使うべきですか?

ユーザーは、メールアドレスまたは姓名で人を検索することができます。彼らはまた、次の検索フィルタを使用するオプションをサイトのユーザーを閲覧できるようになります:

age range 
country 
location (city) 
gender 

が、これはスフィンクスを考えるようなものを使用せずに行われるべきか?

答えて

4

私は実際のプロジェクトでスフィンクスを使用しました。 私は次のような理由からスフィンクス検索スフィンクスの宝石を考えて使用することをお勧めいたしますでしょう:

1:Performence あなたのすべての検索可能なデータが検索インデックスファイルになります。したがって、ユーザ が検索を実行している間は、データベースへのSQLクエリはありません。

2:複雑な検索を行う方が簡単です。あなたが見ている場合thinking sphinx wiki あなたはそれを行うことができます検索のいくつかの異なる種類が表示されます。さらに、 ジオロケーション検索。 Rails whereメソッドまたはSQLクエリを使用すると、非常に難しくなるか、もっと多くの作業が必要になります。

ところで、delta indexとスケジュールされたレーキタスクを使用して、検索インデックスを最新の状態に保ちます。

通常、早朝に検索インデックスを再構築します。

+0

ありがとう、非常に役に立ちます。 – LondonGuy

+0

Sphinxの結果をActiveRecordオブジェクトに変換するためのSQLクエリがまだ存在することは注目に値しますが、これは主キーによって行われるため、ほぼ確実に純粋な勝利です。 – pat

+0

どのように検索が行われたのだろうと思っていたので、ありがとう。スフィンクスがインストールされ、私は行く準備ができています。スクリーンキャストから、私はそれがかなりまっすぐに見えているのを見ている。 – LondonGuy

関連する問題