簡単に言うと、検索する前に、データを処理してインデックスを作成する必要があります。したがって、Lucene をデータやデータベースに「プラグイン」するだけの方法はありません。その代わりに、Lucene 自体のデータをプラグイン (処理、解析、分析、インデックス作成、およびクエリ) する必要があります。
rustyx:「私のデータはほとんど静的です。読み取り専用のインデックスを使用することもできます。」
その場合、Lucene 自体を使用できます。データソースを反復処理して、すべての多対多の関係を Lucene インデックスに追加できます。その「100GB」というサイズはどのようにして思いついたのですか? 人々は Lucene を使用して何百万ものドキュメントのインデックスを作成していますが、インデックスを作成することは問題ではないと思います。
「アセンブリ」フィールドを持つドキュメントでも、異なる値 (「コンポーネント」) を持つ複数のフィールド インスタンスをインデックスに追加できます。
rustyx:「代わりに、Lucene 検索と外部データ ソースをその場で「結合」する方法を検討しています」
シームレスなものが必要な場合は、リレーショナル データベースと Lucene Index の間のブリッジのように機能する次のフレームワークを試してみてください。
Hibernate Search : そのチュートリアルでは、「@ManyToMany」キーワードを検索して、チュートリアル内の正確なセクションを見つけて、アイデアを得ることができます。