現在、Lucene と Hibernate Search を使用して、会社の概念実証検索ソリューションの構築に取り組んでいます。正常に動作する個々のコンポーネントを構築しました。現在、ユーザーがさまざまなソース (ドメイン + データ) から検索結果を取得できる単一の API の作成を検討しています。私が達成したいのは、検索マネージャーがさまざまな検索コンポーネントに非同期で検索要求を発行し、1 つの結果セットが処理されたときに、残りを処理しながらその結果をユーザーに返すようなものです。検索結果が処理されたら、さらに検索結果があることをクライアントに通知します。
個々の検索コンポーネントを検索するために個別のスレッドを作成し、検索結果のリストを保持する検索マネージャーがあるかどうか疑問に思っています。リストに 1 つのセットが入力されると、それがユーザーに返されます。追加の検索結果には、検索マネージャーが結果をユーザーにプッシュすることが含まれます。
コード例を探しているわけではありませんが (あれば幸いです)、この問題に取り組む方法についてのガイダンスを得ることができるかどうか疑問に思っていました。イベント処理テクノロジ (GigaSpaces、Spring、JMS) を使用しますか、それとも標準の Java 並行ライブラリを使用しますか? リストを管理し、更新された結果をプッシュする効果的な方法は何でしょうか。
乾杯