基于Lucene的web搜索引擎研究
本文關(guān)鍵詞:基于Lucene的Web搜索引擎的研究,由筆耕文化傳播整理發(fā)布。
摘 要:隨著科學(xué)技術(shù)的不斷發(fā)展,信息技術(shù)得到了快速的增長,人類也進(jìn)入了一個信息爆炸的時代。當(dāng)我們面臨著各類信息時,如何迅速、便捷找出自身所需的信息,已經(jīng)成為了當(dāng)前普遍重視的問題。從目前來看,搜索引擎能夠很好的解決這個問題。本文主要對基于Lucene的web搜索引擎展開了一番研究與探討,其中從Lucene及相關(guān)索引技術(shù)闡述出發(fā),進(jìn)而探討了基于Lucene的web搜索引擎的構(gòu)建,希望對相關(guān)行業(yè)與工作有所借鑒。
關(guān)鍵詞:Lucene; web;搜索引擎;索引
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號: 1.引言 眾所周知,搜索引擎屬于互聯(lián)網(wǎng)的應(yīng)用軟件系統(tǒng),其指的是自動從因特網(wǎng)中搜集信息,通過一定的分析整理之后,將用戶所需信息提供給他們的一種查詢系統(tǒng)。搜索引擎的出現(xiàn)是為了解決繁瑣的網(wǎng)絡(luò)信息搜索,其能迅速對信息進(jìn)行處理,然后提供用戶所需的信息。從目前來看,網(wǎng)絡(luò)上出現(xiàn)了一系列商業(yè)性質(zhì)的Web搜索引擎,比如Google、Baidu、Sougou等,它們的出現(xiàn),極大地滿足了用戶的需求。但是,它們自身有著商業(yè)性質(zhì),因此其自身的技術(shù)是保密的,不會對外公開。為了推進(jìn)搜索引擎技術(shù)的不斷發(fā)展與壯大,Apache基金會經(jīng)過不斷的努力與探索,在近幾年推出了一種全文搜索引擎工具包,即Lucene。自從這種搜索引擎工具包誕生之后,迅速得到了全球的鐘愛,不久便風(fēng)靡全球。因此,基于Lucene的Web搜索引擎的研究也成為了近幾年比較熱門的一個問題。 2. Lucene及相關(guān)索引技術(shù)概述 2.1 Lucene概述 Lucene屬于一套用于全文檢索與搜尋的開放源碼程序庫,在這個程序庫中擁有一系列應(yīng)用程序接口,可以用于相應(yīng)的檢索與搜索,,從這里可以看出其并非一種單純的應(yīng)用程序。Lucene為我們提供的各種函數(shù)接口可以方便我們在檢索與查詢的時候輕松嵌入應(yīng)用系統(tǒng)中,以此實(shí)現(xiàn)檢索與搜索的功能。 從目前來看,基于Lucene的典型應(yīng)用系統(tǒng)中,對于數(shù)據(jù)對象而言,只要其能轉(zhuǎn)化為相應(yīng)的文本格式,都可以采用Lucene進(jìn)行全文檢索與搜索。比如我們常用的TXT文件、PDF文件、Word文件、儲存在數(shù)據(jù)庫里面的數(shù)據(jù)以及Web頁面等,這些都可以采用Lucene的應(yīng)用系統(tǒng)進(jìn)行相關(guān)的檢索與搜索,而且效果十分明顯,是當(dāng)前很多用戶所鐘愛的方式之一。 2.2 相關(guān)核心技術(shù)概述 2.2.1 倒排索引技術(shù) 倒排索引指的是在搜索引擎系統(tǒng)中利用某些關(guān)鍵字的值去查找記錄,從而按照這些關(guān)鍵詞去建立索引的一個過程。當(dāng)前,電子計算機(jī)已經(jīng)成為了我們工作必備的工具,而很多時候我們都會用到索引來進(jìn)行資源的搜索,而索引也是當(dāng)前常用的一種提高搜索效率的方法。索引雖然可以提高搜索效率,但是由于索引方法很多,種類復(fù)雜使得索引并沒有得到一種良好的發(fā)展。因此,高效的索引機(jī)制對于搜索效率的提高及搜索的規(guī)范是非常重要的,也是高效搜索系統(tǒng)的一個關(guān)鍵所在。倒排索引技術(shù)屬于Lucene中的核心技術(shù)之一,同時也是高效搜索系統(tǒng)的一種體現(xiàn)。在倒排索引技術(shù)中,只需要Lucene調(diào)用幾個應(yīng)用程序接口便能建立索引,其中主要會經(jīng)歷以下三個階段:1)將獲取的原始數(shù)據(jù)利用解析器解析為可用的文本格式;2)利用分析器對文本進(jìn)行分析;3)分析后得到的數(shù)據(jù)結(jié)構(gòu)保存到相關(guān)的索引數(shù)據(jù)庫中。 2.2.2 搜索技術(shù) 采用了Lucene進(jìn)行初次搜索之后,讀取出來的查詢結(jié)果只是一部分,而不能所有一次性出來,一般會將與之匹配度最高的前100條按照一定的編號(ID)放到相應(yīng)的緩存中,然后逐漸返回給用戶。一旦這前100條結(jié)果用戶都不滿意或不滿足,則可以繼續(xù)讀取后面的結(jié)果,此時搜索器就會再次展開檢索,再次檢索后形成的緩存會更大,相較于初次而言幾乎大了一倍,接著會繼續(xù)向后網(wǎng)頁進(jìn)行讀取。這里舉例加以說明:構(gòu)建一個檢索1-190條結(jié)果的搜索器,按照前文所述就需要兩次檢索才行,在前100條結(jié)果讀取完畢之后,搜索器會繼續(xù)檢索從而構(gòu)建一個更大的緩存,一般能存放200條結(jié)果。以此類推,若需要檢索更多的結(jié)果,那么相應(yīng)的增加檢索次數(shù),而相應(yīng)的緩存也會跟著增大。通過這樣的基礎(chǔ)搜索處理后,得到的結(jié)果會很多,而匹配的總數(shù)越多,用戶得到的滿足就更大。從實(shí)際操作應(yīng)用來看,一般而言前100條檢索結(jié)果幾乎都能讓90%左右的用戶滿意,加之Lucene在搜索技術(shù)中的自動過濾的運(yùn)用,使得那些匹配度較低的結(jié)果提前消除,大大提高了搜索的效率。 2.2.3 分詞技術(shù) Lucene具有很好的可擴(kuò)展性,用戶若需要實(shí)現(xiàn)中文檢索功能,只要將Lucene中包含的詞法與語言分析接口加以擴(kuò)展即可。因此,對于Lucene包含的文本分析接口而言,其并不依賴任何文件的語言與格式,索引器只需要獲取Token流便可以根據(jù)所需進(jìn)行索引文件的創(chuàng)建。 3.基于Lucene的Web搜索引擎的構(gòu)建 Internet在最近快速發(fā)展的十年左右,實(shí)現(xiàn)了一個飛躍式的跨越,自身的資源得到了迅速的增長,并且使得Web也逐步發(fā)展成為了包含各種信息資源、站點(diǎn)且遍布全球的信息服務(wù)網(wǎng)絡(luò)。在這種發(fā)展推動下,一些大型的搜索引擎逐漸出現(xiàn),但它們大部分
本文關(guān)鍵詞:基于Lucene的Web搜索引擎的研究,由筆耕文化傳播整理發(fā)布。
本文編號:63023
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/63023.html