Lucene を使い始めたばかりで、コンテンツを検索できるようにデータベースのインデックスを作成しようとしています。索引付けに関心のある 3 つのテーブルがあります。
1. イメージ テーブル- これは、各エントリがイメージを表すテーブルです。各画像には一意の ID とその他の情報 (タイトル、説明など) があります。
2. People テーブル- これは、各エントリが人物を表すテーブルです。各人には一意の ID とその他の情報 (名前、住所、会社など) があります。
3. クレジット テーブル- このテーブルには 3 つのフィールド (画像、人物、クレジット タイプ) があります。その目的は、その画像のクレジットとして一部の人々を画像に関連付けることです。各画像には、複数の人物 (監督、写真家、小道具のアーティストなど) を含めることができます。また、人物は複数の画像にクレジットされています。
Lucene を使用していくつかの検索を実行できるように、これらのテーブルにインデックスを付けようとしていますが、読んだように、構造を平坦化する必要があります。
私が思いついた最初の解決策は、画像/人物の組み合わせごとに Lucene ドキュメントを作成することです。これにより、インデックスに多くの重複コンテンツが作成されるのではないかと心配しています (画像/人物のすべての詳細は、画像に取り組んだ各人物の各ドキュメントで複製する必要があります)。
これを手伝ってくれるLuceneの経験者はいますか? 非正規化には一般的な解決策がないことを知っているため、より具体的な例を示しました。
ありがとうございます。データベースに関する詳細情報を喜んで提供します。
PS: 残念ながら、データベースの構造を変更する方法はありません (クライアントに属します)。私は自分が持っているもので働かなければなりません。