电竞比分网-中国电竞赛事及体育赛事平台

分享

WebLogic Portal 8.1 平臺(tái)上運(yùn)行Lucene搜索引擎

 smoking_boy 2005-08-24
WebLogic Portal 8.1 平臺(tái)上運(yùn)行Lucene搜索引擎 瀏覽次數(shù): 1346 時(shí)間:2004-11-05
作者:Alex Toussaint
  Lucene是Apache.org的一個(gè)開源搜索引擎框架,它包含在Jakarta開源項(xiàng)目家族中。Lucene提供了用于搜索和索引不同類型文件和數(shù)據(jù)提供者的庫(kù)。

  因?yàn)長(zhǎng)ucene是一個(gè)搜索框架,所以創(chuàng)建并運(yùn)行它需要做一些工作。沒有一個(gè)安裝程序或是GUI工具讓您配置運(yùn)行Lucene搜索引擎,但是,Lucene通過簡(jiǎn)單的配置就可以直接手工安裝,并且提供一系列功能強(qiáng)大的搜索API。

  可下載的軟件包提供了一些模塊用來索引本地存儲(chǔ)的文本文件和html內(nèi)容。另外,定制模塊可以從網(wǎng)絡(luò)上創(chuàng)建或是下載。LARM插件是一個(gè)很好的例子,它里面允許Lucene與crawler功能的集成。

  Lucene有兩個(gè)主要的服務(wù):索引和搜索。索引和搜索的任務(wù)是相互獨(dú)立的。索引和搜索服務(wù)都可用,這樣開發(fā)人員就可以擴(kuò)展他們來滿足自己的需求。Lucene完全由Java編寫,并且十分注重性能。

  文本索引是 Lucene 重點(diǎn)構(gòu)造的一個(gè)可搜尋的索引區(qū)域。索引是為高性能內(nèi)容查詢而創(chuàng)建的知識(shí)庫(kù)。Lucene提供豐富的API可以與存儲(chǔ)在索引中的信息交互。您可以簡(jiǎn)單地指定索引作為文檔名稱列表和它的摘要;也可以復(fù)雜地指定索引作為整個(gè)文檔存儲(chǔ)內(nèi)容和相關(guān)的附加元數(shù)據(jù)。例如:可以按附加的元數(shù)據(jù)信息排隊(duì),這樣,查詢結(jié)果中就可以區(qū)分出優(yōu)先級(jí)較高的一些文檔。

  文本檢索在索引中創(chuàng)建一個(gè)包含一系列用戶搜索條件的查詢。索引知識(shí)庫(kù)的建立可以提高查詢速度,并且可以返回按相關(guān)性排序的查詢結(jié)果。Lucene提供多種類型的行業(yè)中常用的查詢。幾種主要的查詢?nèi)缦卤恚?/P>

  • 通配符查詢:Lucene支持單個(gè)或多個(gè)通配符查詢。
  • 模糊查詢:模糊查詢是基于Levenshtein Distance或者Edit Distance算法的。
  • 類似查詢:Lucene支持在一定的具體范圍內(nèi)查找詞組。
  • 區(qū)間查詢:區(qū)間查詢?cè)试S按照介于最大至于最小值之間來匹配文檔。
  • 條件查詢:Lucene提供基于條件發(fā)現(xiàn)的文檔匹配級(jí)別。
  • 布爾運(yùn)算符:布爾運(yùn)算符允許多個(gè)檢索條件用邏輯運(yùn)算符連接,Lucene支持 AND、“+”、OR、NOT和“-”作為布爾運(yùn)算符。

  開始
  要開始使用Lucene,首先要下載Lucene的JAR文件和搜索模塊示例。它們可以從下面網(wǎng)址獲取
  http://jakarta./lucene/docs/index.html
  或者
  http://cvs./dist/jakarta/lucene/v1.3-final/

  本文撰寫時(shí)使用的版本是Lucene1.3,也可以下載最新發(fā)布的版本。您可以通過閱讀changes.txt文件來了解新版本比1.3版有哪些更新。

首先下載與本文相關(guān)的示例代碼壓縮文件,包括:

  • Lucene 搜索的Java頁(yè)面流
  • Lucene 搜索的portlet文件
  • Lucene庫(kù)
  • 示例內(nèi)容l 示例索引

下載作者提供的與本文相關(guān)的文件:

  在WebLogic Portal 8.1 sp2平臺(tái)的Sampleportal中添加Lucene
  
下面分步講解如何安裝Lucene和Lucene示例。

  1、設(shè)置JAVA_HOME指向您的Java安裝目錄,這樣可以針對(duì)例子內(nèi)容運(yùn)行索引引擎。

  2、 您可以使用示例包中的Lucene庫(kù),也可以從Lucene站點(diǎn)獲得最新的包。獲得了Lucene jar文件(lucene-1.3-final.jar,lucene-demos-1.3-final.jar)后,把它們放到以下目錄中:
<install_drive>\bea\weblogic81\samples\portal\portalApp\sampleportal\WEB-INF\lib

  3、要運(yùn)行索引程序,把步驟1中的兩個(gè)jar文件放到Java CLASSPATH中以便進(jìn)行索引。

  4、放置文件LuceneSearch 到Sampleportal的根目錄下。得到類似如下的目錄結(jié)構(gòu):
<install_drive>\bea\weblogic81\samples\portal\portalApp\sampleportal\LuceneSearch
LuceneSearch文件夾中有一個(gè)Content目錄,它里面有具體的一些示例內(nèi)容文本文件。
<install_drive>\bea\weblogic81\samples\portal\portalApp\sampleportal\LuceneSearch\Content
索引最好創(chuàng)建完成,以防萬一您不想在下一步中花時(shí)間來運(yùn)行索引。

  5、在Sampleportal webapp目錄下執(zhí)行如下命令行,運(yùn)行內(nèi)容目錄下的索引。
<應(yīng)用程序路徑> java org.apache.lucene.demo.IndexFiles <內(nèi)容路徑>
將得到如下界面:
<install_drive>\bea\weblogic81\samples\portal\portalApp\sampleportal java org.apache.lucene.demo.IndexFiles <install_drive>\bea\weblogic81b\samples\portal\portalApp\sampleportal\ LuceneSearch\Content

  這個(gè)例子中,示例包里有一系列簡(jiǎn)單的內(nèi)容文本文件,這些文件與BEA的產(chǎn)品系列相關(guān)。

  6、索引任務(wù)完成后,結(jié)果應(yīng)該是在您的內(nèi)容目錄下創(chuàng)建一個(gè)索引目錄,如下:
<install_drive>\bea\weblogic81\samples\portal\portalApp\sampleportal\ LuceneSearch\Content\index

  7、索引創(chuàng)建后,再返回配置一個(gè)portlet以便與索引通信。示例包中有一個(gè)簡(jiǎn)單的java頁(yè)面流例子,它和Lucene引擎通信,并且假定索引在Sampleportal目錄中。啟動(dòng)WebLogic Workshop,從菜單欄中選擇File>>Open Application>>Pick the PortalApp應(yīng)用程序,它包含了Sampleportal。

  8、您可能要調(diào)整Java頁(yè)面流和Jsp頁(yè)面中的代碼來適用您的環(huán)境。查詢結(jié)果頁(yè)面是由results.jsp頁(yè)面顯示的,這??癨??個(gè)jsp可以從Lucene站點(diǎn)上獲取。所有的調(diào)整都完成后,下一步就是把Lucene Search portlet添加到Sampleportal上。這一步可以直接在WebLogic Workshop 上把portlet拖到Portal Designer中,或者右擊Portal designer,然后從portlets列表中選擇。

  然后從Portal菜單中選擇View this Portal。

  9、在portal出現(xiàn)后,您可以測(cè)試查詢portlet,看看查詢結(jié)果。

  如何在BEA WebLogic Portal 8.1平臺(tái)使用Lucene?
  WebLogic Portal 8.1 在Administration Portal幫助系統(tǒng)中使用Lucene的標(biāo)準(zhǔn)功能。幫助系統(tǒng)的內(nèi)容是基于HTML的文檔,索引被置于Administration Portal Web應(yīng)用程序中。由于Administration Portal被部署在擴(kuò)展名為.war的壓縮包文件中,還需要其他操作使Lucene與索引文件協(xié)調(diào)。

  可以隨時(shí)通過點(diǎn)擊Administration Portal右上方的幫助圖標(biāo)進(jìn)入上下文幫助系統(tǒng)。從下圖中您可以看到幫助系統(tǒng)返回一系列查詢結(jié)果,這些查詢結(jié)果是分頁(yè)顯示的。除此之外,還有很多搜索技巧可以幫助您找到想要的結(jié)果。

  結(jié)束語(yǔ)
  Lucene 搜索引擎是完全基于Java的搜索框架,它可以很方便地集成到您的Web應(yīng)用程序中。此外,Internet上的一些插件可以提高搜索庫(kù)的性能,增強(qiáng)從不同數(shù)據(jù)源獲取數(shù)據(jù)的能力。
您可以從以下鏈接獲取Lucene庫(kù)和一些其他的相關(guān)信息:
  Lucene主頁(yè): http://jakarta./lucene/docs/index.html
  性能基準(zhǔn):http://jakarta./lucene/docs/benchmarks.html
  FAQ:http://lucene./cgi-bin/faq/faqmanager.cgi
  運(yùn)行Lucene的站點(diǎn):http://wiki./jakarta-lucene/PoweredBy
  原文出處:http://dev2dev./products/wlportal81/articles/lucene_search_wlp81.jsp

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多