999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Lucene全文檢索引擎的應用研究

2010-11-27 01:45:56朱雪蓮
網絡安全與數據管理 2010年22期
關鍵詞:搜索引擎引擎數據庫

朱雪蓮

(新疆藝術學院基礎部(思政部),新疆 烏魯木齊 830049)

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

1 全文檢索引擎Lucene

1.1Lucene 概述

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 Lucene的組成結構

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所示。

表2 ProductDocument類中Field屬性配置情況

關鍵代碼如下:

下面的代碼是索引類的代碼,它用于向Lucene索引中添加 Document。

在initialize方法中,初始化了一個 JE分詞的MMAnalyzer實例,然后將生成的主題詞庫添加到該實例中。addProduct方法將兩個參數Product和 id傳遞到Product-Document.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.

猜你喜歡
搜索引擎引擎數據庫
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
主站蜘蛛池模板: 狠狠色狠狠色综合久久第一次| 亚洲欧美h| 婷婷色中文网| 亚洲人免费视频| 狠狠久久综合伊人不卡| 色综合天天娱乐综合网| 婷婷激情五月网| 亚洲国产欧美国产综合久久| 久久伊人久久亚洲综合| 中文字幕亚洲无线码一区女同| 国模沟沟一区二区三区| 亚洲色图在线观看| 亚洲码一区二区三区| 亚洲无码高清一区| 无码啪啪精品天堂浪潮av| 精品人妻一区二区三区蜜桃AⅤ | 日韩在线第三页| 日韩在线2020专区| 九九热精品免费视频| yy6080理论大片一级久久| 亚洲资源站av无码网址| 国产高清在线观看| 国产91特黄特色A级毛片| 欧美日韩精品一区二区在线线| 色老二精品视频在线观看| 不卡无码h在线观看| 日韩欧美国产区| 91精品国产情侣高潮露脸| 成人福利免费在线观看| 国产高清在线观看91精品| 99久久亚洲精品影院| 久久无码免费束人妻| 精品丝袜美腿国产一区| 一本久道久综合久久鬼色| 在线网站18禁| 在线国产欧美| 欧美激情综合| 国产精品香蕉| 亚欧乱色视频网站大全| 91伊人国产| 日本在线亚洲| 露脸真实国语乱在线观看| 色悠久久综合| 欧美一级特黄aaaaaa在线看片| 欧美视频免费一区二区三区 | 亚洲首页在线观看| 亚洲综合九九| 亚洲综合婷婷激情| 国产精品va| 久久久精品久久久久三级| 伊伊人成亚洲综合人网7777| 国产高清色视频免费看的网址| 亚洲手机在线| 亚洲中文字幕av无码区| 精品人妻一区无码视频| 亚洲精品自拍区在线观看| 亚洲综合一区国产精品| 久久伊人操| 国产精品女熟高潮视频| 国产精品乱偷免费视频| 成人免费一区二区三区| 91久久性奴调教国产免费| 色网站在线视频| 九九热这里只有国产精品| 国产精品hd在线播放| 色悠久久久| 亚洲国产综合精品一区| 国产免费久久精品44| 日本午夜精品一本在线观看 | 免费无码AV片在线观看国产| 在线精品视频成人网| 国产91高清视频| 久久91精品牛牛| 视频在线观看一区二区| 伊人成色综合网| 中文字幕免费视频| 国产一级精品毛片基地| 国产精品欧美日本韩免费一区二区三区不卡| 九色91在线视频| 亚洲一区二区三区在线视频| 69av免费视频| 制服无码网站|