藏刊網,職稱文章發表、期刊投稿權威機構

投稿咨詢

投稿在線咨詢

專著咨詢

合著&獨著&編委

編輯在線咨詢

專利咨詢

專利申請&轉讓

編輯在線咨詢

軟著版權

軟著版權

編輯在線咨詢

在線溝通

論文&專著&專利

編輯在線咨詢

微信聊

微信掃一掃

首頁 > 其他論文 > > 利用Lucene搭建全文站內搜索引擎
利用Lucene搭建全文站內搜索引擎
>2024-01-04 09:00:01


0、 引 言

隨著互聯網快速地發展與廣泛地普及,互聯網上的信息量也在迅猛的增加,這使得大家想方便和快捷地在互聯網上查詢所需信息成為一種奢望. 搜索引擎技術的出現有效的緩解了這一問題,并越來越成為人們關注的焦點. 隨著信息化在我國的逐步推進,許多企事業單位、政府都有了自己的信息化系統,通過一段時間的運行都有了大批量的數據,人們也可以使用站內搜索引擎快捷方便地從中獲取所需要的信息. Lucene 是一個用 ja-va 語言開發的開源的全文搜索引擎架構,可以利用其來搭建全文\\(站內\\) 搜索引擎. 查準率是衡量搜索引擎性能指標之一,查詢與內容的文檔表示模型較好的利用了語用信息,對提高站內搜索引擎的查準率有很好的作用,本文將利用這個模型和 Lucene 設計和實現一個站內搜索引擎.

1、 Lucene 簡介

Lucene 是 Apache 軟件基金會 Jakarta 項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個用 Java 語言實現的全文檢索引擎架構. 它為數據訪問和管理提供了簡單的函數調用接口,可以方便地嵌入到各種應用程序中實現全文檢索功能,提供了強大的全文索引和檢索的源動力. 此外,它還提供了完整的查詢引擎和索引引擎及部分文本分析引擎,還具有方便的用戶接口、面向WWW 的開發接口、二次應用開發接口等等.Lucene 以其開放源代碼的特性、優異的索引結構、良好的系統架構獲得了越來越多的應用.Lucene 作為一個全文檢索引擎,其具有優秀的面向對象系統架構; 索引文件格式獨立于平臺; 實現分塊索引,提升索引速度等突出的優點.Lucene 系統由基礎結構封裝、索引核心、對外接口三大部分組成. 其中操作索引文件的索引核心是系統的重點. Lucene 將所有源碼分為七個模塊,其系統的系統結構圖如圖 1.Lucene 應用了最基本的一條程序設計準則:引入額外的抽象層以降低耦合性. 在每一個局部細節上,比如某些常用的數據結構與算法上,Lu-cene 也充分的應用了這一條準則. 在高度的面向對象理論的支撐下,使得 Lucene 的實現容易理解且易于擴展.

2、 基于查詢與內容的文檔表示模型

基于查詢與內容的文檔表示模型認為當有較多的用戶用相同的關鍵詞搜索,并點擊相同的搜索結果時,其查詢詞和被點擊的結果文檔間有一定的關系,可以用來表示文檔. 這部分語用信息對提高搜索引擎的查準率是很有幫助的,因此可以收集這部分語用信息,改進文檔表示模型,達到提高搜索引擎的查準率的目的. 基本思路是: 在信息檢索系統初始化時,構建文檔的向量空間. 隨著搜索引擎的運行,用戶查詢日志將越積越多,這些日志表明了查詢詞與被點擊文檔之間的一種關系. 當其所形成的查詢集樣本空間足夠大時就能夠提供有價值的用戶隱性反饋信息,與文檔關聯的高頻查詢詞將在一定程度上反映出用戶的意圖. 即這些高頻查詢詞較好地描述了對應文檔的主題信息. 此時,就可以在文檔表示中逐步引入查詢集的信息,使得文檔的特征空間成為查詢空間與文檔空間信息的整合,從而提高描述文檔主題信息的帶權特征詞的適應度與可信度,達到改善檢索性能的目的.

3、 基于查詢與內容的文檔表示模型和 Lucene 的站內搜索引擎的設計與實現

3. 1 系統設計

目前大多數的企事業單位的網站是動態網站,一般的網絡爬蟲很難抓取其網站內部的信息.而在開發站內搜索引擎的時候,相關網站的數據庫可以獲取得到,因此不使用網絡爬蟲來抓取網頁,而選擇直接將網站數據庫直接轉換為固定格式的 xml 文檔,這些 xml 文檔容易被 lucene 建索引.Lucene 是通過對查詢詞與被索引文檔之間的評分來排序被索引文檔,并輸出查詢結果的. 因此想改變查詢結果的排序只需修改其評分函數,修改評分函數的依據是基于查詢與內容的文檔表示模型中提出的模型修正公式. Lucene 中雖然帶有 CJK 分詞工具,但是其分詞效果不太理想,所以我們將分詞效果較好的極易分詞工具替換其自帶的 CJK 分詞工具. 另外,根據這個模型還需設計一個用戶查詢行為記錄和分析模塊,用來記錄和分析用戶查詢行為,根據基于查詢與內容的文檔表示模型所述,當用戶的查詢行為所形成的樣本空間大于一個閾值時將改變文檔的表示,根據Lucene 的本身特點,將通過修改評分與排序來實現. 系統的整體結構圖如圖 2 所示.

綜上所述,需要開發查詢行為日志記錄與分析模塊、數據轉換模塊和用戶界面模塊,需要修改是 lucene 的評分函數以及替換其自身所帶的 CJK分詞工具.

3. 1. 1 數據轉換與索引1\\) 將數據庫中的數據轉換為 xml 文檔通過 JDBC 鏈接指定的數據庫,利用 W3C 規定的標準 DOM\\(文檔對象模型\\) 進行 XML 的讀寫工作,因為本系統使用 XML 文檔的主要目的是提供數據存儲,所以 XML 結構應避免過于復雜.DOM 的基本對象有 5 個: Document,Node,NodeList,Element 和 Attr,其中 Document 對象代表了整個 XML 的文檔,所有其它的 Node 都以一定的順序包含在 Document 對象之內且排列成一個樹形結構,通過遍歷這顆樹來就可以得到 XML文檔的所有內容.為了方便 lucene 建索引,我們將 xml 文件的格式定義為如下格式\\(xml 中 1 個節點\\) :

2\\) 給導出的 XML 文件建立索引由于中文在詞與詞之間沒有分界,以及 Lu-cene 自帶的分詞工具的局限,在建立索引的過程中我們需要擴展 Lucene 的語言分析包\\(org. a-pache. lucene. analysis\\) 實現對中文的處理. 通過對多種中文分詞工具\\(如 StandardAnalyzer、Chi-neseAnalyzer、CJKAnalyzer、IK _ CAnalyzer、MIK _CAnalyzer、MMAnalyzer\\) 綜合性能的比較,我們選擇 JE 分詞 1. 5 版本作為本搜索引擎中文分詞工具.對 XML 文件建立索引分為兩個步驟: 利用SAX 將 XML\\(Simple API for XML\\) 文檔中的每條記錄轉化為 org. apache. lucene. document. Docu-ment 對象和利用 org. apache. lucene. index. In-dexWriter 對象循環地對第一步轉化得到的每個Document 對象建立索引.

3. 1. 2 用戶查詢行為的獲取該部分主要分為兩個步驟: 獲取用戶行為數據和分析并保存所獲取的數據.1\\) 獲取用戶行為數據當用戶瀏覽搜索引擎返回結果的標題和摘要時,遇到自己關心的部分一定會點擊其鏈接進入相應的頁面. 我們可以設定一個觸發事件捕獲其點擊行為,獲取相關信息,比如查詢串和點擊鏈接對應的頁面 ID 號.2\\) 分析并保存所獲取的數據接收上一步驟獲取的數據\\(查詢串和點擊鏈接對應的文檔 ID 號\\) ,利用 InsertArgs 類將其插入到數據庫 SearchInf\\(有表 SearchWords 和 Analysis\\)中. InsertArgs 類繼承于 DB 數據操作類,他可以自由調用父類的相關數據操作方法,其類圖如圖3.

獲取用戶行為數據及分析并保存所獲取的數據的過程可以用下面的流程圖如圖 4.

3. 1. 3 評分函數的修改用戶提交查詢串后,通過 lucene 的內部評分機制得到一個文檔隊列,該隊列保存了獲分較高的文檔及其評分值. 將文檔隊列中的文檔逐個取出,以文檔 ID 號為依據,用查詢串分詞后的各個詞項在表 Analysis 中進行匹配,計算查詢空間中每個文檔對應的查詢詞項的頻率. 在表 Search-Words 中掃描包含查詢詞項的查詢串個數及查詢串的總個數. 計算出文檔隊列中各個文檔在查詢空間中的特征詞權重,進而計算出每個文檔的評分. 將上一步得到的文檔評分與 lucene 的內部評分依據預定義規則相加,得到文檔的最后評分,然后排序返回給用戶.在 Lucene 架構中,這個保存文檔評分的隊列在 Lucene 的 TopDocCollector 中,我們的主要目的就是修改這個類,我們的方法是在該類里邊增加一個修改評分的模塊. 修改評分依據為文獻[1]中的公式 4,其中參數 α 在系統中可以配置. 再次調用檢索器時,IndexSearcher 就會調用這個類\\(同時包括修改評分的模塊\\) 進行評分.

3. 2 實現

采用 Lucene2. 4. 1 工具包,并在其基礎上進行擴充與修改,利用 MyEclipse 為開發平臺,使用 JSP 開發用戶界面,tomcat 為應用服務器. 利用W3C 規定的標準 DOM\\(文檔對象模型\\) 將數據庫中的數據導出成 XML 文檔,然后利用 SAX 將XML 文檔中的每條新聞轉化為 Lucene 中的文檔對象,進而利用 Lucene2. 4. 1 工具包中的 In-dexWriter 對象對各個文檔對象建立索引,然后應用 IndexSearcher 對象進行檢索. 在建立索引前,先要進行中文分詞,本實驗采用 JE1. 5\\(極易\\) 中文分詞工具對文檔對象進行分詞.

4、 總 結

我們在 MyEclipse 開發平臺下用 Java 語言和Lucene2. 4. 1 工具包開發的一個基于查詢和內容的文檔表示模型的站內搜索引擎,然后將其鏈入校園網供全校師生使用,并收集用戶查詢日志; 重點分析其中的用戶查詢日志,并從中挖掘有用信息重構校園網文檔的表示模型,從而達到提高檢索效率的目的. 我們利用收集到的日志進行實驗,并將其與傳統的向量空間模型的查準率進行對比,得到當參數 α∈[0. 5,0. 9]時系統將取得較好的查準率. 實驗結果如表 1.

其中 top-10 表示返回結果的前 10 個,top-20表示返回結果的前 20 個. 上述實驗結果表明,當參數 α∈[0. 5,0. 9]時,基于查詢和內容的文檔表示模型可以較好地提高站內搜索引擎的查準率.

參考文獻:
[1]陽小華,周座. 基于查詢與內容的文檔表示模型[J].南華大學學報\\(自然科學版\\) ,2010,24\\(1\\) : 39-42.
[2]鐘義信. 自然語言理解的全信息方法論[J]. 北京郵電大學學報,2004,27\\(4\\) : 1-12.
[3]Cutting D. The Lucene Search Engine,Powerful Flexibleand Free[J]. Java World,2000\\(9\\) : 15-19.
[4]W3C. DOM Standards[EB/OL]. Internet: csail of MIT,ERCIM,Keio university,2012[2013].
[5]Otis Gospodnetic,Erik Hatcher. Lucene in action[M].譚鴻,譯.北京: 電子工業出版社,2007.

綜合排序
投稿量
錄用量
發行量
教育界

主管:廣西壯族自治區新聞出版局

主辦:廣西出版雜志社

國際:ISSN 1674-9510

國內:CN 45-1376/G4

級別:省級期刊

中國報業

主管:中國報業協會

主辦:中國報業協會

國際:ISSN 1671-0029

國內:CN 11-4629/G2

級別:國家級期刊

中國房地產業

主管:中華人民共和國住房部和...

主辦:中國房地產業協會

國際:ISSN 1002-8536

國內:CN 11-5936/F

級別:國家級期刊

建筑與裝飾

主管:天津出版傳媒集團有限公司

主辦:天津科學技術出版社有限...

國際:ISSN 1009-699X

國內:CN 12-1450/TS

級別:省級期刊

財經界

主管:國家發展和改革委員會

主辦:國家信息中心

國際:ISSN 1009-2781

國內:CN 11-4098/F

級別:國家級期刊

文化月刊

主管:中華人民共和國文化部

主辦:中國文化傳媒集團有限公司

國際:ISSN 1004-6631

國內:CN 11-3120/G2

級別:國家級期刊

期刊在線投稿系統
上傳文件
支持上傳.doc、.docx、.pdf文件
18年國內外學術服務,發表國際文獻請認準藏刊網官網

資深編輯團隊

專業設計投入方案

投稿成功率極高

企業信譽保障

對公交易更安全

人民群眾口碑好

高效投稿流程

審稿快!出刊快!檢索快!

正規刊物承諾

無假刊!無套刊!

投稿成功!

藏刊網提醒您

1.稿件將進入人工審稿階段,審稿后會有編輯聯系您,請保持手機暢通。

2.為避免一稿多投、重刊等現象影響您的發表,請勿再投他刊。

確定

投稿失??!

藏刊網提醒您

由于網絡問題,提交數據出現錯誤,請返回免費投稿頁面重新投稿,謝謝!

確定

藏刊網收錄400余種期刊,15年誠信發表服務。

發表職稱文章,覆蓋教育期刊、醫學期刊、經濟期刊、管理期刊、文學期刊等主流學術期刊。

  投稿郵箱:cangkan@163.com

本站少量資源屬于網絡共享如有侵權請您聯系我們,將在第一時間刪除。

版權 2009-2022 版權所有:河北藏刊文化發展有限公司 工信部備案:ICP備20016223號 冀公網安備13010502002858號

青青青爽不卡一区二区_操婷婷色六月中文字幕_国产精品yjizz视频网_中文无码一级大片_A级毛片100部免费观