私はHeroku上に検索のユーザーフレンドリーさを高めるために探しているRailsアプリケーションを持っています。これを行うには、関連付けを介して複数のモデルの複数のフィールドにわたるテキスト検索を許可したいと思います。ユーザからの入力は、これらのフィールドのいずれかからのテキストの混合であってもよく(また、しばしば複数のフィールドにまたがることもある)、特に順序は問わない。Railsはパフォーマンスを念頭に置いてフィールド間でテキスト検索をトークン化しました
例:車のデータベースがあり、 "Honda Fit 2011"(メーカーのテーブルから "Honda"が検索された)を検索できるようにしたい場合、モデルテーブルからFitが来て、2011が来ましたmodel_yearテーブルから取得します。
私は、これらの各フィールドからの一意の単語リストを含むルートレコードに1つのフィールドを作成してから、ユーザーの入力をトークン化する必要があると考えています。しかし、それはIN
句を使用することになります。pg_searchのようなフルテキスト検索プラグインの恩恵を受けることはできません。
私の質問は、このような検索をRailsで有効にするための良い方法です。
すべてのモデルにわたる全文検索があなたの問題を解決していませんか? – Reactormonk
フルテキスト検索は、通常、外部ツールに与える作業です。あなたはsolr/lucene、sphinx、またはelastic searchを見たいかもしれません。 – keymone
@複数のモデルにまたがるフルテキストを使用しますが、間違っていないと、常に異なるテーブルのアイテムが返されます。私はおそらく明らかではなかった:私の車の例では、私はいつもmodel_yearレコードを返すことにしたいと思っていた。だから、 "ホンダ"の検索は、 "ホンダ"のメーカーに連想させることができるすべてのmodel_yearsを取り戻すだろう。 – Parrots