《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Lucene全文檢索引擎的應用研究
基于Lucene全文檢索引擎的應用研究
來源:微型機與應用2010年第22期
朱雪蓮
(新疆藝術學院基礎部(思政部), 新疆 烏魯木齊 830049)
摘要: Lucene是一個強大的全文索引引擎工具包, 它的全文檢索技術是信息檢索領域廣泛使用的基本技術, 具有訪問索引時間快、多用戶訪問、跨平臺使用的特點。介紹了一個高性能的全文檢索引擎——Lucene開源系統,詳細分析了Lucene的系統結構、全文索引機制,然后將其引入具體應用,給出了一個基于Lucene全文檢索技術的具體實例。
Abstract:
Key words :

摘  要: Lucene是一個強大的全文索引引擎工具包, 它的全文檢索技術是信息檢索領域廣泛使用的基本技術, 具有訪問索引時間快、多用戶訪問、跨平臺使用的特點。介紹了一個高性能的全文檢索引擎——Lucene開源系統,詳細分析了Lucene的系統結構、全文索引機制,然后將其引入具體應用,給出了一個基于Lucene全文檢索技術的具體實例。
關鍵詞: 全文檢索技術; Lucene; 索引

    Lucene作為一個開放源代碼全文檢索工具包,具有優異的索引結構和良好的系統架構, 不僅可以通過它來構建具體的全文檢索應用, 而且能方便地集成到各種系統軟件中,本文對Lucene進行深入的研究和分析,以此為基礎設計實現了一個以商業網站中構建搜索引擎的實例。
1 全文檢索引擎Lucene
1.1  Lucene概述

    Lucene是用Java寫的全文檢索引擎工具包,并不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,可以提供多個應用程序編程接口函數和數據存儲結構,并能方便地嵌入到各種應用中,從而實現針對應用的全文索引/檢索功能。
1.2  Lucene系統結構
    Lucene的系統結構中運用了面向對象的設計思想,定義的索引文件格式與平臺無關,并通過抽象將系統的核心組成部分和具體的平臺部分設計為抽象類,與具體平臺相關的部分例如文件存儲也封裝為類,經過層層處理,形成了一個低耦合、高效率、容易二次開發的檢索引擎系統。系統結構圖如圖1所示。

    從圖1看到Lucene系統是由基礎結構封裝、索引核心、對外接口三大部分組成。其中索引核心部分是系統的重點。 Lucene中共有7個子包,每個包的具體功能見表1,核心類包主要有: org. apache.lucene. analysis; org. apache. lucene. Index;org. apache.lucene. search。

1.3 Lucene全文索引機制
    Lucene索引存儲結構采用層次結構,主要由索引、字段、文檔、字、詞組成,在存儲正向信息時通常是按層次保存從索引到詞的包含關系,即Lucene索引文件由若干段(Segment,相當于表)組成,每一段由若干的文檔(document,相當于表中記錄)組成,每一個文檔由若干的域(Field,相當于表中字段)組成,每一個域由若干的項(Term,相當于表中數據)組成; 而反向信息則保存了詞典到倒排表的映射。因此,索引存儲結構設計比較通用,輸入輸出結構類似于數據庫中的表→記錄→字段,很多文件、數據庫等都能較為方便地映射到Lucene的索引存儲結構/接口中。
    Lucene訪問索引的時間較快,這是因為大部分數據庫引擎是用B樹來維護索引結構的,更新索引時會導致大量的輸入和輸出操作,而通過Lucene構建的索引文件在擴展索引時,是將新創建的小索引文件定期地合并到原先的大索引文件中,從而提高了索引效率。
2 基于Lucene構建搜索引擎的具體應用
    在實現利用Lucene構建搜索引擎的具體應用時,以在商業網站中構建一個搜索引擎為例,通過爬蟲將各大IT門戶網站提供的商品信息抓取下來,然后對網頁內容進行數據信息抽取并轉換為統一格式的文本文件,并構建專業數據庫和主題詞典,同時將詞典內容擴充到中文分詞模塊中;中文分詞模塊對文件處理器處理生成的文本文件進行分詞處理,并提供詞元序列供索引器索引,并將索引結果保存到索引數據庫中;使用Tomcat Web服務器發布系統的檢索頁面,當用戶通過Web界面輸入要查詢的關鍵詞并提交后,搜索器到索引數據庫中進行檢索,檢索到的結果經過處理之后,作為響應發送給用戶。系統結構如圖2所示。本文將介紹與Lucene相關的設計與實現,并利用Lucene工具包提供的類對其擴展來實現具體的應用。

    首先對抓取下來的網頁內容進行結構化的抽取,并對抽取的內容按固定格式保存、完成主題詞庫的構建、產品數據庫的構建、數據庫處理類的構建等幾項任務,為后續的索引入庫、檢索打下基礎。
2.1 索引庫的建立
    在索引階段需要定義Lucene的Document格式和構建索引的處理類。Lucene的索引庫是通過接口添加一條條索引記錄實現的,首先需要構造一個Document文檔對象,確定Document的各個域,IndexWriter負責接收新加入的文檔,并寫入索引庫中。
    本實例中ProductDocument類靜態方法為一個Product對象構建Lucene的Document,當中包含了 7個Field,分別為identifier(產品ID)、indextime(索引時間)、producturl(產品URL)、category(產品分類)、name(產品名稱)、type(產品型號)、all。前6個Field與數據庫中的內容有直接的對應關系,而all則是將category(產品分類)、name(產品名稱)、type(產品型號)拼接起來,為用戶搜索時提供一個默認Field。具體定義如表2所示。

    關鍵代碼如下:
import org. apache. lucene. document;
public class ProductDocument
{
     //Field名稱,當前產品在數據庫中的ID
     private static final String PRODUCT_ ID="p roductid";
    ……
     public static Document buildProductDocument(Porduct pro-
duct, int id)
      {
          Document doc = new Document( ) ;
       // 此處構建6個Field
       Field identifier;
       Field indextime;
       Field p roducturl;
       Field category;
       Field name;
       Field type;
       //最后一個Field將category、name、type的信息綜合起來,默認在此進行檢索
       Field all;
       // add all
       doc. add ( identifier) ;
       ……
       return doc;
      }
}
  下面的代碼是索引類的代碼,它用于向Lucene索引中添加Document。
public classProductIndexer{
   ......
private void initialize() throws Exception{
      analyzer = new MMAnalyzer();
       FileReader reader = new
     FileReader(dictionary_file);
     ((MMAnalyzer)analyzer). addDictionary(reader);
       writer = new IndexWriter( indexPath, analyzer,
       true);
}
public void close(){...... }
public void addProduct(Product product, int id) throws Exception{
       writer. addDocument ( ProductDocument.
       buildProductDocument(product, id));
          }
          ......
}
    在initialize方法中,初始化了一個JE分詞的MMAnalyzer實例,然后將生成的主題詞庫添加到該實例中。addProduct方法將兩個參數Product和id傳遞到ProductDocument.bulidProductDocument方法里,然后調用IndexWriter的addDocument方法,把生成的產品加入到索引中。至此,數據庫與索引的建立結束。
2.2 檢索
    Lucene的檢索接口主要由QueryParser、IndexSearcher、Hits三個類構成,QueryParser是查詢分析器,IndexSearcher是索引搜索器,檢索時,用戶提交檢索關鍵字,先調用Lucene的查詢分析器分析用戶提交的查詢,然后調用IndexSearcher類進行搜索;返回結果為Hits類,通過它再訪問Document=>Field中的內容。
    本文在深入剖析Lucene的系統結構和索引機制的基礎上,實現了一個商業領域搜索引擎的實例,檢索的結果由結構化的數據組成,描述針對性很強,響應速度快、查準率高。今后,將進一步增加對動態頁面的索引和語義分析來提高搜索的精度。
參考文獻
[1] 管建和,甘劍峰.基于Lucene全文檢索引擎的應用研究與實現[J].計算機工程與設計,2007,1.28(2):489-491.
[2]  車東.在應用中加入全文檢索功能—基于Java的全文索引引擎 Lucene簡介[EB/OL].http://www.chedong.com/tech/lucene.html.2009.03.20.
[3]  邱哲,符滔滔.開發自己的搜索引擎[M].北京:人民郵電出版社, 2007.
[4] 李廣麗,劉覺夫.垂直搜索引擎的研究與實現[J]. 情報雜志, 2009,10.28(10):144-147,169.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品视频第一区| 亚洲一区欧美一区| 欧美大片免费看| 欧美日韩视频第一区| 欧美激情视频一区二区三区免费| 午夜精品视频网站| 国产欧美 在线欧美| 一区二区国产在线观看| 欧美国产日韩a欧美在线观看| 海角社区69精品视频| 亚洲三级性片| 亚洲美女在线观看| 国产婷婷精品| 欧美亚洲一区二区在线观看| 伊人成人在线视频| 久久免费视频观看| 麻豆成人在线| 欧美日韩中文字幕日韩欧美| 亚洲黄色三级| 欧美经典一区二区三区| 午夜久久黄色| 激情综合色丁香一区二区| 亚洲欧美日韩国产成人| 欧美成人亚洲| 欧美一区午夜精品| 欧美日韩午夜在线视频| 国产精品久久久一区二区三区| 999在线观看精品免费不卡网站| 亚洲欧美日韩在线观看a三区| 国内精品久久久久影院优| 国产午夜精品在线观看| 伊甸园精品99久久久久久| 国产精品社区| 国产精品久久久久久久久久三级| 欧美3dxxxxhd| 欧美精品一区二区三区视频| 亚洲成人在线观看视频| 久久综合一区二区三区| 亚洲精品视频在线观看免费| 久久久999精品| 国内一区二区在线视频观看| 篠田优中文在线播放第一区| 欧美午夜激情小视频| 影音先锋国产精品| 亚洲美女视频| 欧美日韩国产综合视频在线观看| 久久美女艺术照精彩视频福利播放| 亚洲国产日韩精品| 国产一区二区毛片| 亚洲性av在线| 亚洲高清不卡在线观看| 亚洲大片免费看| 亚洲视频中文字幕| 欧美香蕉大胸在线视频观看| 亚洲国产精品美女| 午夜精品福利一区二区三区av| 欧美亚洲一区二区三区| 亚洲韩国青草视频| 午夜欧美视频| 亚洲综合日韩在线| 亚洲欧美日韩一区二区| 国产日韩欧美夫妻视频在线观看| 国外成人在线| 精品69视频一区二区三区| 一区二区三区|亚洲午夜| 欧美三级乱码| 国产精品专区第二| 久久亚洲视频| 在线播放中文一区| 在线综合视频| 亚洲欧美视频在线观看视频| 欧美激情一区二区三级高清视频| 在线日韩欧美视频| 欧美一区1区三区3区公司| 欧美精品一区二区三区在线看午夜| 香蕉成人伊视频在线观看| 欧美/亚洲一区| 老司机午夜精品视频在线观看| 欧美精品一区二| 欧美电影打屁股sp| 国产区日韩欧美| 国产精品国产三级国产普通话三级| 国产精品手机视频| 一区二区三区日韩在线观看| 欧美一级久久久| 国产精品久久毛片a| 国产精品欧美日韩| 女仆av观看一区| 午夜久久久久久久久久一区二区| 国产日韩在线一区二区三区| 亚洲国产色一区| 亚洲图片欧洲图片av| 一区二区三区无毛| 欧美成人一二三| 好男人免费精品视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产一区二区剧情av在线| 欧美日韩视频在线一区二区观看视频| 伊人夜夜躁av伊人久久| 久久国产精品一区二区三区四区| 欧美日韩国产综合视频在线| 在线观看一区二区视频| 亚洲国产精品欧美一二99| 国产日韩一区二区三区| 国产精品亚洲综合| 亚洲视频免费观看| 亚洲国产高清自拍| 91久久视频| 久久久久久久久久久成人| 亚洲成色999久久网站| 亚洲第一级黄色片| 亚洲午夜激情网页| 日韩视频永久免费| 日韩视频免费观看高清在线视频| 国产亚洲欧美一区| 欧美激情一区二区三区| 国产一区二区三区最好精华液| 亚洲欧美国产高清| 一区二区三区国产在线| 国产一区二区三区在线免费观看| 欧美精品导航| 国产精品激情av在线播放| 国产精品入口麻豆原神| 亚洲欧美日韩一区二区三区在线| 久久久久久69| 久久久久久久久岛国免费| 国产精品www.| 欧美视频免费| 国产精品成人aaaaa网站| 国产亚洲精品v| 久久综合伊人77777| 欧美一级日韩一级| 久久久久九九视频| 一本色道久久综合亚洲二区三区| 欧美国产日产韩国视频| 欧美精品在线免费观看| 麻豆乱码国产一区二区三区| 免费短视频成人日韩| 国产日本精品| 国产精品乱码一区二区三区| 欧美日韩国产综合新一区| 国产日韩一区二区三区| 国产精品亚洲综合久久| 国产精品日日摸夜夜摸av| 亚洲视频一区在线观看| 鲁大师影院一区二区三区| 亚洲欧美日韩成人高清在线一区| 久久综合伊人77777| 久久亚洲一区二区三区四区| 久热re这里精品视频在线6| 国产伦精品一区二区三区免费迷| 欧美亚洲午夜视频在线观看| 国产日韩欧美综合| 一区二区三区精品视频| 免费一级欧美片在线观看| 欧美日韩国产一区二区三区| 亚洲一区二区三区在线看| 亚洲男女毛片无遮挡| 国产精品第2页| 国内精品久久久久国产盗摄免费观看完整版| 国产精品国产三级国产专播品爱网| 久久国产手机看片| 欧美日韩精品一区二区三区| 亚洲三级国产| 国产欧美日韩在线观看| 亚洲欧美日韩国产另类专区| 国产日韩在线一区| 亚洲精品国产系列| 亚洲每日在线| 国产精品黄视频| 久久天天躁夜夜躁狠狠躁2022| 国产精品日韩在线观看| 国产偷国产偷亚洲高清97cao| 久久久91精品国产一区二区三区| 国产女人精品视频| 亚洲一区成人| 最近看过的日韩成人| 伊人一区二区三区久久精品| 亚洲在线中文字幕| 亚洲永久在线| 欧美视频一区二区在线观看| 欧美深夜福利| 美日韩免费视频| 欧美精品www在线观看| 欧美xx视频| 久久综合狠狠| 一区二区成人精品| 欧美一区二区三区在| 国产乱码精品一区二区三区不卡| 国产日产欧美一区| 久久亚洲精品一区二区| 久久国产精品久久国产精品| 久久久精品五月天| 国产精品美女久久福利网站| 蜜臀a∨国产成人精品| 亚洲第一偷拍| 亚洲欧洲日本mm| 久久精品91久久香蕉加勒比| 久久久精品网| 欧美成人69av| 欧美午夜美女看片| 中日韩男男gay无套| 国产精品va在线播放| 久久久91精品国产一区二区精品| 国产亚洲欧美日韩在线一区| 国产亚洲女人久久久久毛片| 欧美一区二区黄| 欧美午夜性色大片在线观看| 欧美影院成年免费版| 亚洲精选成人| 久久久久久久一区二区| 麻豆视频一区二区| 久久伊伊香蕉| 亚洲高清不卡一区| 亚洲激情成人在线| 欧美日韩成人在线观看| 国产精品久久久久91| 在线天堂一区av电影| 亚洲另类黄色| 国产三级精品三级| 国产欧美精品日韩精品| 久久久精品日韩欧美| 最新精品在线| 久久精品2019中文字幕| 久久久久中文| 国产精品在线看| 欧美性猛交xxxx乱大交蜜桃| 欧美日韩国产成人| 一区二区三区高清在线观看| 久久九九有精品国产23| 国产日韩一区欧美| 99成人在线| 午夜免费在线观看精品视频| 欧美一区二区三区四区在线观看地址| 另类图片综合电影| 亚洲风情亚aⅴ在线发布| 激情校园亚洲| 国内成人精品2018免费看| 欧美国产精品中文字幕| 亚洲午夜av| 国产免费观看久久黄| 99精品视频免费观看视频| 亚洲国产精品毛片| 9国产精品视频| 国产精品免费久久久久久| 亚洲乱码国产乱码精品精天堂| 亚洲精品一线二线三线无人区| 99国内精品久久久久久久软件| 亚洲已满18点击进入久久| 欧美一区二区三区视频免费播放| 国产欧美日韩免费看aⅴ视频| 国产精品人人爽人人做我的可爱| 中文av一区二区| 欧美三级韩国三级日本三斤| 国产精品久线观看视频| 欧美a级片网| 99视频热这里只有精品免费| 今天的高清视频免费播放成人| 国产午夜亚洲精品理论片色戒| 欧美日本一道本在线视频| 国产精品美女视频网站| 亚洲高清二区| 国内视频一区| 日韩视频免费看| 国产精品久久久久久久第一福利| 一本色道久久综合亚洲91| 夜夜嗨av一区二区三区网站四季av| 亚洲国产精品久久久久秋霞不卡| 欧美性色aⅴ视频一区日韩精品| 久久美女性网| 欧美精选午夜久久久乱码6080| 亚洲乱码国产乱码精品精| 欧美精品123区| 亚洲国产经典视频| 在线精品一区二区| 国产在线乱码一区二区三区| 136国产福利精品导航| 国产精品国产三级国产专区53| 欧美精品导航| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品午夜视频| 国产精品久久国产三级国电话系列| 欧美在线关看| 亚洲摸下面视频| 国产一区91| 日韩视频在线永久播放| 亚洲午夜一级| 亚洲国产日韩欧美在线99| 久久精品国产999大香线蕉| 国产精品视频网| 亚洲美女在线观看| 久久夜色精品国产亚洲aⅴ| 国产精品揄拍一区二区| 欧美三级午夜理伦三级中文幕| 国产日韩高清一区二区三区在线| 亚洲视频精选| 国产精品久久久久天堂| 久久精品在线视频| 欧美激情综合在线| 欧美午夜精品久久久久久浪潮| 久久久人成影片一区二区三区| 亚洲综合电影一区二区三区| 亚洲综合国产| 国产精品久久久一区二区| 亚洲一区三区在线观看| 欧美小视频在线观看| 国产伦一区二区三区色一情| 欧美视频在线免费看| 国产一区二区三区免费观看| 亚洲综合色在线| 欧美日韩国产成人高清视频| 欧美成在线观看| 一区二区三区 在线观看视频| 国产精品欧美久久| 久久成人综合网| 久久久久国色av免费看影院| 久热国产精品| 亚洲欧美激情视频在线观看一区二区三区| 狠狠干狠狠久久| 亚洲欧洲日产国产网站| 国产精品国产一区二区| 欧美日韩亚洲高清| 国产毛片精品国产一区二区三区| 亚洲一区久久| 久久精品免费播放| 亚洲线精品一区二区三区八戒| 国产欧美日韩一区二区三区在线观看| 国产精品美女一区二区|