亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Lucene的搜索引擎技術在綜合查詢系統(tǒng)中的應用

        2017-03-06 00:24:22]王子光王子明
        軟件導刊 2017年1期
        關鍵詞:源文件工具包爬蟲

        ]王子光+王子明

        摘要摘要:搜索引擎技術應用廣泛。Lucene作為一個優(yōu)秀的搜索引擎開源工具包,可方便實現(xiàn)相關搜索引擎功能。介紹了Lucene搜索引擎工具包,在此基礎上,利用Lucene開發(fā)工具包,設計并實現(xiàn)了綜合查詢系統(tǒng)中搜索引擎功能。闡述了網絡爬蟲子系統(tǒng)、索引子系統(tǒng)和查詢子系統(tǒng)3個模塊功能。

        關鍵詞關鍵詞:搜索引擎;網絡爬蟲;Lucene技術;Suggestion提示

        DOIDOI:10.11907/rjdk.1511256

        中圖分類號:TP319文獻標識碼:A文章編號文章編號:16727800(2017)001012603

        引言

        隨著互聯(lián)網技術的迅猛發(fā)展,形成了海量Web交互數(shù)據,搜索引擎成為用戶在海量數(shù)據中獲取有用信息的重要技術手段。綜合查詢系統(tǒng)作為當前管理信息系統(tǒng)的重要組成部分,承擔了系統(tǒng)查詢的大部分功能,是用戶進行查詢的重要接口。綜合查詢系統(tǒng)包括快速查詢、模糊查詢、組合查詢、關聯(lián)查詢等功能,一般是用戶根據查詢要素進行查詢,例如輸入某人的學號來查詢確切信息。但是在很多查詢場合,用戶往往不清楚自己所掌握的數(shù)據是哪一個查詢要素,例如只知道一個編號,但是不清楚這個編號是學號還是其它編號,這樣就無法根據查詢要素查詢,導致查詢效率大大降低。綜合查詢系統(tǒng)迫切需要一種類似搜索引擎的服務來方便用戶使用。

        本文設計了一種基于Lucene的搜索引擎技術在綜合查詢系統(tǒng)的應用方案,并詳細闡述了該方案的設計與實現(xiàn)。

        1Lucene開發(fā)工具包

        Lucene作為一個優(yōu)秀的搜索引擎開源工具包,可以4結語

        代碼質量問題已成為制約軟件持續(xù)發(fā)展的主要因素。代碼質量問題包括多個方面,但特征不夠明確和統(tǒng)一,自動檢測效果差,這些都為代碼質量檢查增加了難度[7]??煽匦宰鳛榇a質量評價的重要指標,越來越受到信息企業(yè)的關注[8]。它在整個產品線的長遠發(fā)展方面發(fā)揮著重要作用,有助于構建完整的軟件產品“生態(tài)系統(tǒng)圈”??煽匦圆粌H是代碼質量理論,更需要應用在程序編碼實踐之中。遵循可控性原則進行方案設計和代碼實現(xiàn),可進一步提高代碼質量,監(jiān)督控制程序代碼修改的風險,增加軟件產品應對需求變化的靈活性。

        2基于Lucene的搜索引擎技術實現(xiàn)2.1網絡爬蟲設計與實現(xiàn)

        網絡爬蟲是通過網頁的鏈接地址來尋找網頁信息,通常從網站的首頁開始讀取網頁內容,從中抽取網頁中的超鏈接地址,然后通過這些鏈接地址尋找下一個網頁,如此循環(huán),直到把網站所有的網頁都抓取為止[2]。搜索策略包括廣度優(yōu)先或深度優(yōu)先兩種形式。

        網絡爬蟲根據抓取過程分為3個功能模塊:①網頁源文件獲取。通過獲取網頁的輸入流,將網頁源文件信息提取出來;②網頁超鏈接地址抽取。這個模塊就是分析網頁信息,抓取URL列表;③網頁文件寫入磁盤。這個模塊主要是將網頁數(shù)據寫入磁盤,然后進行索引查詢。

        2.1.1網頁源文件獲取

        通過與指定URL鏈接,獲取網頁輸入流,然后逐字符把網頁源文件輸入到一個字符串變量中。這一部分用到Java.net包下的URL類和URLConnection類,主要代碼如下:

        .1.3網頁源文件寫入磁盤

        因為文件名不能包括“/”等特殊字符,所以這部分要利用StringTokenizer類把每個獲得的超鏈接以“/”分隔,然后按照分隔出來的字符串依次建立相應的文件夾。例如:www.xxx.edu.cn/english/index.asp依次創(chuàng)建www.xxx.edu.cn文件夾,然后是其子文件夾english,最后是最內層文件夾index.asp,還要創(chuàng)建一個FileWriter對象把網頁源文件index.asp寫入到最內層的文件夾中。

        實現(xiàn)網絡爬蟲功能后,網頁數(shù)據就寫入磁盤,然后索引子系統(tǒng)要對這些網頁源文件進行索引。

        2.2索引子系統(tǒng)設計與實現(xiàn)

        由于經過網絡爬蟲搜集的數(shù)據是在數(shù)據庫中存儲的,所以需要利用Lucene對數(shù)據庫中的數(shù)據進行索引。有兩種方式實現(xiàn)創(chuàng)建索引:①實時索引。在信息系統(tǒng)添加數(shù)據時就為該數(shù)據添加索引;②定時創(chuàng)建索引。文件為配置時間,在指定時間創(chuàng)建索引。索引完后就可以在索引文件中進行查詢,把結果返回給用戶。

        2.2.1實時創(chuàng)建索引

        實時創(chuàng)建索引是業(yè)務系統(tǒng)在增加數(shù)據時為新數(shù)據添加索引。本文設計實現(xiàn)了一個創(chuàng)建索引的公共方法createIndex,參數(shù)為新增加的數(shù)據對象。在該方法中使用Lucene搜索引擎包提供的IndexWriter對象向索引文件夾中寫入索引文件。創(chuàng)建索引時先從配置文件中讀取索引文件夾位置,判斷索引文件夾中是否存在索引文件。如果不存在則直接在索引文件中寫數(shù)據,如果已經存在,則向索引文件夾追加數(shù)據并不覆蓋原有數(shù)據;然后使用addDocument方法,把要索引的數(shù)據庫字段放到Document對象的Field中。Document很像數(shù)據庫中的一條記錄,而Field更像是數(shù)據庫中的字段[3]。

        2.2.2定時創(chuàng)建索引

        實時創(chuàng)建索引目的是將新增數(shù)據添加到索引文件中,但此時刪除數(shù)據索引文件并不會立即更新。為了解決上述問題,可設計實現(xiàn)一個定時創(chuàng)建索引方法。為了不影響業(yè)務正常開展,一般設定為次日凌晨,在該時間為數(shù)據庫中的所有數(shù)據信息重新創(chuàng)建索引。

        在Web應用程序的web.xml配置文件中設置一個ServletContextListener,并在ServletContextListener實現(xiàn)類中創(chuàng)建一個Timer對象,調用Timer對象的schedule方法實現(xiàn)在指定時間執(zhí)行指定任務。

        定時調度任務需實現(xiàn)一個方法,該方法繼承java.util.TimerTask類。從配置文件中讀取指定時間,設定兩個配置項,一個是索引文件夾路徑,一個是任務指定執(zhí)行時間。通過JDom技術讀取配置文件中的信息。由于ServletContextListener在整個Web應用程序中都存在,這樣就實現(xiàn)了定時創(chuàng)建索引的功能。

        創(chuàng)建完索引后,就可在索引文件中查找用戶關注的信息,將用戶查詢結果返回給客戶端。

        2.3查詢子系統(tǒng)設計與實現(xiàn)

        前臺實現(xiàn)參照Google搜索引擎的Suggestion提示,通過Ajax技術與后臺動態(tài)交互數(shù)據,并利用JQuery的Autocomplete 插件實現(xiàn)類似Google輸入框中動態(tài)顯示搜索詞組下拉列表功能。搜索語句代碼如下:

        參考文獻:

        [1]郎小偉,王申康.基于Lucene的全文檢索系統(tǒng)研究與開發(fā)[J].計算機工程,2006(4):110.

        [2]互動百科,網絡蜘蛛[EB/OL].http://www.baike.com/wiki/網絡蜘蛛.

        [3]李剛,宋偉,邱哲.征服Ajax十Lucene構建搜索引擎[M].北京:人民郵電出版社,2006.

        [4]成龍.Lucene搜索引擎開發(fā)進階實戰(zhàn)[M].北京:機械工業(yè)出版社,2015.

        [5]羅剛.解密搜索引擎技術實戰(zhàn)[M].北京:電子工業(yè)出版社,2014.

        [6]王子光.內蒙古移動需求全生命周期系統(tǒng)的設計與實現(xiàn)[D].北京:北京交通大學,2010.

        [7]李剛.瘋狂Ajax講義[M].北京:電子工業(yè)出版社,2013.

        責任編輯(責任編輯:杜能鋼)

        猜你喜歡
        源文件工具包爬蟲
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        利用網絡爬蟲技術驗證房地產灰犀牛之說
        基于Python的網絡爬蟲和反爬蟲技術研究
        網絡社區(qū)劃分在軟件質量問題分析中的應用
        基于源文件可疑度的軟件缺陷定位方法研究
        谷歌云與Digital Asset合作推出區(qū)塊鏈工具包
        利用爬蟲技術的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        大數(shù)據環(huán)境下基于python的網絡爬蟲技術
        電子制作(2017年9期)2017-04-17 03:00:46
        運用MATLAB軟件求解高中數(shù)學中的線性和非線性規(guī)劃問題
        科技視界(2016年21期)2016-10-17 19:09:05
        LKJ基礎數(shù)據源文件自動編制系統(tǒng)的研究
        日韩乱码中文字幕在线| 国产真实乱对白在线观看| 台湾自拍偷区亚洲综合| av黄色在线免费观看| 亚洲av无码乱码国产精品| 色一情一乱一伦一区二区三欧美| 久久99精品这里精品动漫6| 视频区一区二在线观看| 久久久久亚洲av成人网人人软件| 亚洲∧v久久久无码精品| 精品亚洲少妇一区二区三区| 操国产丝袜露脸在线播放| 久久精品丝袜高跟鞋| 99精品国产高清一区二区麻豆 | 亚洲专区路线一路线二天美| 开心激情网,开心五月天| 天堂网av一区二区三区在线观看| 免费观看的av毛片的网站| 国产一级毛片卡| 亚洲一区二区三区新视频| 草草影院ccyy国产日本欧美| 久久久精品456亚洲影院| 欧美xxxx新一区二区三区 | 精品久久久久中文字幕APP| 蜜桃传媒免费观看视频| 亚洲va韩国va欧美va| 亚洲精品无码国模| 麻豆成年视频在线观看| 自拍视频在线观看首页国产| 肉体裸交137日本大胆摄影| 亚洲区小说区图片区| 久久本道久久综合一人| 亚洲av成人片色在线观看| 精品无码国产自产野外拍在线| 国产品精品久久久久中文| 精品私密av一区二区三区| 成人免费a级毛片| 欧洲午夜视频| 久草视频在线播放免费| 97一期涩涩97片久久久久久久 | 少妇愉情理伦片丰满丰满|