簡體   English   中英

用Java開發搜索引擎前端

[英]Develop A Search Engine Front End In Java

我必須為我的IR項目創建一個搜索引擎前端。 我非常了解Java,但尚未將其用於Web應用程序。 因此,我需要選擇要學習的知識以實現自己的目標。

我發現Java有很多技術,例如:jsf,jsp,spring,gwt……那么這些技術滿足我的需求,我可以快速學習哪些技術?

編輯:我的網絡應用程序應有兩個頁面(第一頁面用於提交搜索查詢,第二頁面用於顯示搜索結果)。

由於您了解Java但不了解過多的Web應用程序框架,因此我會堅持使用GWT。 盡管它確實具有復雜的學習曲線,但實際上您可以在Eclipse中單擊一下即可構建可工作的默認應用程序。 這足以使您入門。

接下來,您需要一個搜索引擎。 Lucene是主要的Java搜索引擎應用程序,並且文檔齊全。 但是,它很大。 你可以更快地到達那里使用的VectorClassifier Classifier4J 這將非常簡單,您實際上可以在有限的時間內理解整個事情(如果我對這個項目進行評分,這將導致更高的評分)。

從GWT Hello World“打招呼”啟動應用程序開始,而不是發送名稱,而是發送搜索詞。 然后在servlet中,使用Classifier4J將搜索詞與文檔匹配,從而為您提供分數。 您將在greetService RPC調用中返回分數,並在頁面中顯示這些分數以及文檔標題。

作為Java中的標准Web框架,我建議先研究JSF。 它相對容易學習,並且第三方(例如PrimeFaces)提供了許多組件。 確保確保開始使用最新版本的JSF(例如2.0或2.1),因為較舊的版本(1.1、1.2)有些限制。

Wicket和GWT也很不錯,盡管GTW有一些學習曲線。 再說一次,大多數技術都有這樣的曲線,這確實不應該阻止專業開發人員。 但是,這兩個是JSF的替代品 ,除了JSF之外,您不要使用它們。

我真的不建議使用JSP和Servlet。 這些是2000年代技術的代表,在當今的開發環境中幾乎沒有地位(Servlet肯定仍然有其用途,但是在特殊情況下,不能用作UI元素的主要組件)。

我和您有相同的用例。 在下面,我使用Lucene作為搜索引擎。 使用IR庫的好處是簡化了搜索輸入屏幕。 我的網頁上只有一個文本字段(例如www.google.com)。

我建議您堅持使用Java EE的基本Web技術,這些是Servlet和JSP。 您在JSP中描述UI,並將其POST到Servlet,然后Servlet將使用服務層進行應用程序邏輯。

如果您不僅限於面向頁面的方法,建議您看一下Vaadin 它基於GWT,但對於Java開發人員來說則更容易學習。 我認為可以在一個或兩個Java類中實現所需的功能。

Servlet(JSP)|| JSF和Elasticsearch || Solr

是的,jsf是較新的技術,但您無需為此項目准備大筆費用。

這是一個很好的示例項目https://github.com/scrutmydocs/scrutmydocs

我建議如果您沒有Java Web應用程序開發的經驗,請使用Servlet / JSP模型。 簡單直觀。 而且,JSP可以具有Java代碼。
GWT有點復雜,Spring也是如此。

  1. JSF
  2. 便門
  3. JSP / Servlet

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM