こんにちは私はPostgreSQLサーバとしてバックエンドデータベースを使ってDjangoプロジェクトを進めています。私はelastic search
を私のプロジェクトの検索エンジンとして選択しました。dbコンテンツを弾性検索にインデックス付けする
私はelastic search-dsl-py
を使用して、Djangoモデルとelastic search
ドキュメントタイプの間のマッピングを作成しました。 Django signals
を使用して、update
とdelete
イベントをキャプチャします。
ところで、私はDjangoモデルのすべてのフィールドを弾性検索にマッピングしていません。
弾性検索サーバーからホームページへのアイテムのリストを取得するユーザー検索を行うと、ユーザーがアイテムリストをクリックしたとき。 elastic_search server
またはPostgres server
すべてのオブジェクトのすべての詳細を弾性サーバーに置くと、それは私にとっては苦痛になるでしょう。 Djangoモデルでネストされた関係。
私が弾性検索サーバーにすべての詳細を載せていない場合、弾性検索クエリに比べて遅くなるアイテムの詳細を取得するために、データベースにクエリする必要があります。
私はどちらのアプローチをとるべきですか?
すべてのプロパティを弾性検索サーバーのネストされたリレーションと共に索引付けし、すべての検索操作を弾性検索に実行します。弾性検索サーバーで、詳細ビューのためにのみ必要なフィールド
OR
インデックス、必要なフィールドIDでデータベースにq個のクエリを実行します。
誰もこの種の経験がありますか?