私の主な目標は、solrに基づくjqueryで記述された検索アプリケーションを提供することです。(solrに慣れていない場合は、検索結果を返すことができるREST APIを想定してください。)この目標のために、それぞれがアドホックタスクを実行する多くの小さなアプリケーションとサーブレットを作成しました。例えば:
- SearchApp-エンドユーザーが検索を実行できるjqueryアプリ。
- SolrProxy-SearchAppとsolrの間でプロキシの役割を果たすJavaサーブレット。それが行うことの1つは、後で分析するためにユーザー要求をログに記録することです。
- StatsApp-ユーザーアクティビティの分析を実行し、データとともにjsonを返すサーブレット。
- インデクサー-私の要件に従ってデータをsolrにインデックス付けするJavaアプリケーション。このプロセスでは、SQLServer DBもフェッチし、DBに対していくつかの更新コマンドを実行します。
- IndexerServlet-インデクサーを使用してhttpリクエストでインデックスを実行する機能を提供する非同期サーブレット。
- Nutch-Indexer(3)では達成されない他の要件のためにデータをsolrにインデックス付けするオープンソースプロジェクト。
- (MAYBE)-スケジュールされたNutchの実行を実行するサービス。
さらに、コンポーネントが追加される可能性があります。
ほとんどのコンポーネントを処理する1つのプロジェクトではなく、それぞれが1つのタスクを実行する複数のJavaプロジェクトがあるのは少し間違っているようです。これに関するアイデアや洞察はありますか?すべてのJavaアプリを1つのプロジェクトに結合する必要がありますか?これにはある種のフレームワークを使用する必要がありますか?それとも今のままで生きるべきですか?