我的主要目标是提供一个用 jquery 编写的基于 solr 的搜索应用程序。(对于那些不熟悉 solr 的人,假设它是一个可以返回搜索结果的 rest api。)为此,我编写了许多小型应用程序和 servlet,每个应用程序都执行一项临时任务。例如:
- SearchApp - 一个 jquery 应用程序,最终用户可以在其中执行搜索。
- SolrProxy - 在 SearchApp 和 solr 之间扮演代理角色的 java servlet。它所做的一件事是记录用户请求以供以后分析。
- StatsApp - 一个执行用户活动分析并返回包含数据的 json 的 servlet。
- Indexer - 一个 java 应用程序,可以根据我的要求将数据索引到 solr。在这个过程中,它还获取一个 SQLServer DB,然后对 DB 执行一些更新命令。
- IndexerServlet - 一个异步 servlet,它使用 Indexer 提供通过 http 请求执行索引的能力。
- Nutch - 一个开源项目,将数据索引到 solr,以满足 Indexer(3) 中未完成的其他要求。
- (MAYBE) - 一些将执行预定 Nutch 运行的服务。
并且可能会添加更多组件。
拥有多个 java 项目,每个项目都执行一项任务,而不是拥有一个处理大部分组件的项目,这似乎有点错误。对此有何想法和见解?我应该将所有 Java 应用程序合并到一个项目中吗?我应该为此使用某种框架吗?还是我应该像现在这样生活?