用Java开发一个搜索引擎前端

时间:2011-03-11 15:05:54

标签: java jsp jsf gwt

我必须为我的IR项目创建一个搜索引擎前端。我非常了解java,但我还没有将它用于Web应用程序。所以,我需要选择学习什么来实现我的目标。

我发现java有很多技术,例如:jsf,jsp,spring,gwt ......所以这些技术中有哪些能够满足我的需求,哪些技术可以快速学习?

编辑 我的网络应用程序应该有两个页面(第一个提交搜索查询,第二个显示搜索结果)。

7 个答案:

答案 0 :(得分:3)

既然您了解Java而不是过多的Web应用程序框架,我会坚持使用GWT。虽然它的学习曲线确实很复杂,但实际上您可以在Eclipse中单击一下构建一个可用的默认应用程序。这足以让你开始。

接下来你需要一个搜索引擎。 Lucene是首要的Java搜索引擎应用程序,并且有详细记录。但是,它很大。您可以使用Classifier4J中的VectorClassifier更快地到达那里。这很简单,你可以在有限的时间内真正理解整个事情(如果我对这个项目进行评分,这将导致更高的分数。)

从GWT Hello World“问候”开始应用开始,您不会发送您的姓名,而是发送您的搜索字词。然后在servlet中,您将使用Classifier4J将搜索项与您的文档进行匹配,从而为您提供分数。您将在greetService RPC调用中返回分数,并在页面中显示文档标题。

答案 1 :(得分:2)

作为Java中的标准Web框架,我建议首先查看JSF。它相对容易学习,并且有很多组件可供第三方使用(例如PrimeFaces)。确保你开始使用最新版本的JSF(例如2.0或2.1),因为旧版本(1.1,1.2)有些限制。

尽管GTW有一点学习曲线,但Wicket和GWT也相当不错。然而,大多数技术都有这样的曲线,这真的不应该阻止专业开发人员。然而,这两个是替代到JSF,除了JSF之外,你不使用它们。

我真的不建议使用JSP和Servlets。这些是2000年代技术的代表,这些技术在当今的发展前景中几乎没有什么位置(Servlet肯定仍然有用,但对于特殊情况,不是UI元素的主要组件)。

答案 2 :(得分:1)

我和你一样的用例。在下面我使用Lucene作为我的搜索引擎。使用IR库的好处在于简化了搜索输入屏幕。我的网页上只有一个文本字段(例如www.google.com)。

我建议您坚持使用Java EE的基本Web技术,这些技术是Servlet和JSP。您在JSP中描述UI并将其POST到Servlet,然后Servlet将使用服务层来实现应用程序逻辑。

答案 3 :(得分:1)

如果您不仅限于面向页面的方法,我建议您查看Vaadin。它基于GWT,但对Java开发人员来说更容易学习。我认为您需要的功能可以在一个或两个Java类中实现。

答案 4 :(得分:0)

我建议如果您没有Java Web应用程序开发经验,请转到Servlet / JSP模型。它简单直观。此外,JSP可以具有Java代码 GWT有点复杂,Spring也是如此。

答案 5 :(得分:0)

  1. JS​​F
  2. 检票
  3. JS​​P / Servlet的

答案 6 :(得分:0)

Servlet(JSP)|| JSF& Elasticsearch || Solr的

是的,jsf是较新的技术,但你并不需要为这个项目提供一些大的东西..

这是一个很好的示例项目https://github.com/scrutmydocs/scrutmydocs