ユーザーが投稿のタイトルまたはコンテンツに表示されるキーワードに基づいて他のブログを検索できる Django アプリを構築しています。この種の検索を行うには、Haystack が適切なオプションであることを理解しています。
ただし、ユーザーとブログの間の多対多の関係として保存されている、ユーザーが「フォローしている」ブログで結果をフィルタリングできるようにしたいと考えています。Haystack バックエンドは外部キー関係を保存しないため、どのようなオプションがありますか?
私はこれに慣れていないので、おそらく最も効率的ではない次のオプションを考えました。
指定されたキーワードですべてのブログを検索して、一連の投稿結果を取得します。次に、フォローしているすべてのブログのデータベースをクエリし、キーワードの結果でそれらをフィルター処理します。
キーワード検索で何千もの結果が得られる場合、これがどの程度うまく機能するかはわかりません。ブログをフォローしているユーザーの ID をすべてのブログ投稿のコンテンツに追加します。次に、キーワードとログインしているユーザーの ID に一致する投稿を検索します。
これにより、多くのデータの重複が発生し、汚いハックのように見えます。
外部キー クエリとテキスト検索クエリを組み合わせる標準的な方法はありますか?
ありがとうございました。