<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Lucene學(xué)習(xí)總結(jié)之二:Lucene的總體架構(gòu)

      Lucene總的來說是:

      • 一個(gè)高效的,可擴(kuò)展的,全文檢索庫。
      • 全部用Java實(shí)現(xiàn),無須配置。
      • 僅支持純文本文件的索引(Indexing)和搜索(Search)。
      • 不負(fù)責(zé)由其他格式的文件抽取純文本文件,或從網(wǎng)絡(luò)中抓取文件的過程。

      在Lucene in action中,Lucene 的構(gòu)架和過程如下圖,

      image

      說明Lucene是有索引和搜索的兩個(gè)過程,包含索引創(chuàng)建,索引,搜索三個(gè)要點(diǎn)。

      讓我們更細(xì)一些看Lucene的各組件:

      lucene  zong ti jia gou

      • 被索引的文檔用Document對(duì)象表示。
      • IndexWriter通過函數(shù)addDocument將文檔添加到索引中,實(shí)現(xiàn)創(chuàng)建索引的過程。
      • Lucene的索引是應(yīng)用反向索引。
      • 當(dāng)用戶有請(qǐng)求時(shí),Query代表用戶的查詢語句。
      • IndexSearcher通過函數(shù)search搜索Lucene Index
      • IndexSearcher計(jì)算term weight和score并且將結(jié)果返回給用戶。
      • 返回給用戶的文檔集合用TopDocsCollector表示。

       

      那么如何應(yīng)用這些組件呢?

      讓我們?cè)僭敿?xì)到對(duì)Lucene API 的調(diào)用實(shí)現(xiàn)索引和搜索過程。

      using lucene

      • 索引過程如下:
        • 創(chuàng)建一個(gè)IndexWriter用來寫索引文件,它有幾個(gè)參數(shù),INDEX_DIR就是索引文件所存放的位置,Analyzer便是用來對(duì)文檔進(jìn)行詞法分析和語言處理的。
        • 創(chuàng)建一個(gè)Document代表我們要索引的文檔。
        • 將不同的Field加入到文檔中。我們知道,一篇文檔有多種信息,如題目,作者,修改時(shí)間,內(nèi)容等。不同類型的信息用不同的Field來表示,在本例子中,一共有兩類信息進(jìn)行了索引,一個(gè)是文件路徑,一個(gè)是文件內(nèi)容。其中FileReader的SRC_FILE就表示要索引的源文件。
        • IndexWriter調(diào)用函數(shù)addDocument將索引寫到索引文件夾中。
      • 搜索過程如下:
        • IndexReader將磁盤上的索引信息讀入到內(nèi)存,INDEX_DIR就是索引文件存放的位置。
        • 創(chuàng)建IndexSearcher準(zhǔn)備進(jìn)行搜索。
        • 創(chuàng)建Analyer用來對(duì)查詢語句進(jìn)行詞法分析和語言處理。
        • 創(chuàng)建QueryParser用來對(duì)查詢語句進(jìn)行語法分析。
        • QueryParser調(diào)用parser進(jìn)行語法分析,形成查詢語法樹,放到Query中。
        • IndexSearcher調(diào)用search對(duì)查詢語法樹Query進(jìn)行搜索,得到結(jié)果TopScoreDocCollector

      以上便是Lucene API函數(shù)的簡(jiǎn)單調(diào)用。

      然而當(dāng)進(jìn)入Lucene的源代碼后,發(fā)現(xiàn)Lucene有很多包,關(guān)系錯(cuò)綜復(fù)雜。

      然而通過下圖,我們不難發(fā)現(xiàn),Lucene的各源碼模塊,都是對(duì)普通索引和搜索過程的一種實(shí)現(xiàn)。

      此圖是上一節(jié)介紹的全文檢索的流程對(duì)應(yīng)的Lucene實(shí)現(xiàn)的包結(jié)構(gòu)。(參照http://www.lucene.com.cn/about.htm中文章《開放源代碼的全文檢索引擎Lucene》)

      clip_image008

      • Lucene的analysis模塊主要負(fù)責(zé)詞法分析及語言處理而形成Term
      • Lucene的index模塊主要負(fù)責(zé)索引的創(chuàng)建,里面有IndexWriter
      • Lucene的store模塊主要負(fù)責(zé)索引的讀寫。
      • Lucene的QueryParser主要負(fù)責(zé)語法分析。
      • Lucene的search模塊主要負(fù)責(zé)對(duì)索引的搜索。
      • Lucene的similarity模塊主要負(fù)責(zé)對(duì)相關(guān)性打分的實(shí)現(xiàn)。

      了解了Lucene的整個(gè)結(jié)構(gòu),我們便可以開始Lucene的源碼之旅了。

       

      另:

      CSDN此文章鏈接為:http://blog.csdn.net/forfuture1978/archive/2009/10/30/4745802.aspx

      Javaeye此文章鏈接為:http://forfuture1978.javaeye.com/blog/546808 

      posted @ 2009-12-14 12:32  劉超覺先  閱讀(27732)  評(píng)論(4)    收藏  舉報(bào)
      主站蜘蛛池模板: 色情一区二区三区免费看| 欧洲亚洲成av人片天堂网| 久99久热免费视频播放| 天天摸天天操免费播放小视频| 欧美色aⅴ欧美综合色| 久久国产热这里只有精品| 麻豆国产传媒精品视频| 欧美v国产v亚洲v日韩九九| 日本高清在线播放一区二区三区 | 加勒比亚洲天堂午夜中文| 日本一道一区二区视频| 日本精品不卡一二三区| 国产精品亚洲二区在线看| 亚洲另类丝袜综合网| 国产成人精彩在线视频| 久久精品午夜视频| 又黄又硬又湿又刺激视频免费| 国产精品七七在线播放| 亚洲精品三区四区成人少| 国产精品亚洲二区在线播放| 国产欧美日韩亚洲一区二区三区| 日韩精品成人区中文字幕| 国产日产亚洲系列av| 亚洲人成色99999在线观看 | 热久久美女精品天天吊色| 日韩av色一区二区三区| 色噜噜一区二区三区| 亚洲区欧美区综合区自拍区| 高清中文字幕国产精品| 无码高潮爽到爆的喷水视频| 亚洲综合色网一区二区三区 | www免费视频com| 亚洲免费成人av一区| 精品国产午夜理论片不卡| 18禁无遮挡啪啪无码网站 | 国产精品一区在线蜜臀| 裕民县| 亚洲免费人成在线视频观看| 黑森林福利视频导航| 天堂中文在线资源| 玩弄放荡人妻少妇系列|