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

基于Solr的企業級搜索引擎的設計

2013-12-31 00:00:00趙凱王敏
電子世界 2013年22期

【摘要】分散的計算機上存儲有大量的信息,企業級用戶急需一種工具對這些零散的信息進行統一的查找,最好還可通過配置對特定的網站進行檢索,這就是企業級搜索引擎,本文使用開源項目Solr設計了一款面向企業的搜索引擎。整體設計基于SSH設計框架實現;服務器端采用Heritrix抓取網頁,加入IKAnalyzer增加中文分詞功能;客戶端采用Ajax技術實現異步通信,優化用戶體驗。

【關鍵詞】Solr;Heritrix;SSH;企業級;搜索引擎

1.研究背景

隨著Intenet的普及與企業信息化步伐的不斷加快,在企業信息化的發展趨勢下,越來越多的企業廣泛地應用Intemet技術實現數據共享、業務集成與信息發布,信息內容也正在以驚人的速度增加。文件、圖片、多媒體等非結構化數據存放零散,而企業內部業務系統有大量的結構化數據,如報表與業務功能,有時候要找到它們如同大海撈針,如果不及時解決這個問題,很多原來有價值的信息無法得到企業的有效利用。

目前許多企業級門戶網站建立搜索引擎服務通常通過調用互聯網搜索引擎的搜索服務,來實現對本站點的搜索。但是對于一個有很多子網站的企業門戶網站來說,通用搜索引擎存在著很多缺陷,滿足不了這種搜索服務要求,如:盡管通用引擎提供對指定站點內的查詢,但是不能同時對多個站點同時查詢;通用搜索引擎不能及時更新索引,會導致搜索結果不全和出現“壞鏈接”;調用通用搜索引擎的響應速度慢。總之,通用搜索引擎有很廣的信息采集面,深度不夠,它采取的是廣度優先采集策略,而企業搜索需要深入挖掘與企業相關的所有信息,因此應采用深度優先的采集策略,同時由于某些行業網站或數據庫的信息是動態更新的,而且更新頻率很高,需要更頻繁的抓取這些信息,因此企業搜索引擎正是應這種需求而產生。研究如何設計一個適用于企業信息檢索的搜索引擎,具有重要的意義。文中采用Struts+Spring+Solr+Heritrix+IKAnalyzer的開發工具包,進行了一個中文全文搜索引擎的設計。

2.技術路線

2.1 總體架構

該搜索引擎搜索部分框架可概括為Heri trix+Solr+IKAnalyzer,如圖1所示。實現方案中,把Solr作為處理搜索結果的源和入口,Heritrix負責它最擅長的工作:抓取網頁內容。使用Solr作為搜索后端,可以充分使用Solr的搜索特性:查詢拼寫檢查,搜索提醒,數據復制及查詢緩存等。考慮到Solr本身中文分詞功能較弱,因此引用IKAnalyzer來增強其中文分詞功能。

鑒于企業級搜索引擎需要部分定制功能,例如,可能會需要設定訪問一些企業本身感興趣的網站,以提高搜索的速度和精確度,因此需要配置系統維護接口,實現人工的實時定制。

Solr本身提供了靈活的特性,能夠從文本、數據庫和網頁中直接導入數據,而企業本身也需要對檢索到的信息進行整理分類,會希望搜索引擎能夠提供一些人工智能和個性化的東西,因此在設計中加入了數據庫的支持,以實現對網頁內容的學習、分析和聚類等,從而可保證提供智能化結果。

2.2 設計框架

系統設計采用基于SSH框架的三層結構,即表現層、業務層、持久層。

其中表現層使用struts框架,該層將直接面向用戶,精美的UI將能夠體現良好的可用性,本次設計用使用了開源的Yui-ext界面包,可增加彈窗、菜單等效果;使用的Ajax技術實現異步通信功能,提升用戶的體驗;利用struts框架與Yui-ext相結合,Yui-ext進行前臺數據顯示,而struts框架作為數據跳板向前臺提供數據。

業務層使用spring框架,該層作為持久層數據與表現層之間數據傳輸的紐帶,spring框架封裝了DAO和JDBC模塊,可以保持數據庫訪問代碼干凈簡潔,并且可以防止因關閉數據庫資源失敗而引起的問題。

持久層使用Hibernate框架,目前,已經很少有人J2EE應用會直接以JDBC方式進行持久層訪問,畢竟用面向對象的程序設計語言來訪問關系型數據庫令人沮喪;反之,多數人會以ORM框架來進行持久層訪問,其中Hibernate框架靈巧、輕便,非常適用于持久層。

3.關鍵技術

3.1 Solr簡介

Solr是Apache的一個開源子項目,它是一個采用java5開發的、基于lucene全文搜索庫的企業級搜索服務器,提供了豐富的查詢語言,可根據用戶需求配置和擴展,并對查詢性能進行了優化。Solr提供了一個完善的功能管理界面,可輸出多種格式,能夠實現異構系統的整合,有強大的插件功能,使用它很容開發出一款優秀的企業級搜索引擎。

3.2 Heritrix與Solr的整合

Heritrix與Solr的配置主要集中在服務器端,整個搜索的過程可以概括為,Heritrix爬蟲抓取網頁之后,編寫相應的代碼對爬蟲抓取頁面的遍歷,將網頁傳遞給JoyDoc框架,獲取頁面中的content,source,title等信息,建立數據庫,然后使用Solr索引功能對網頁數據庫中的數據建立索引,從而實現全文搜索。其中,需要重新定制heritrix的Extractor方法,配置Heritrix根目錄下的conf文件中的Heritrix文件。

3.3 Struts+Spring+Hibernate的整合

SSH框架的整合直接影響到整個網站的用戶體驗和可用性,整合主要以下兩個方面。

Struts整合Spring,可以將Struts Action管理委托給Spring框架,整個過程需要兩個步驟:

(1)Action中,使用IOC獲得服務,配置struts-config.xml;

(2)Spring配置文件中注冊該動作。

Spring整合Hibernate,在Spring框架中,像JDBC DataSource或Hibernate SessionFactory這樣的資源,在應用程序上下文中可以用bean實現。需要訪問資源的應用程序對象只需通過bean引用得到這類預先定義好的實例的引用即可,需要三個步驟:

(1)配置數據源,一般情況下有三種方式的數據源;

(2)配置sessionfactory;

(3)配置事務。

3.4 中文分詞技術

中文分詞對于搜索引擎來說是至關重要的指標,對于企業來說,絕大部分的搜索時針對中文索引,而Solr默認只支持引文索引,因此需要加入中文索引。

IKAnalyzer實現了以詞典分詞為基礎的正反向全切分算法,適合于大部分用戶的搜索習慣,如搜索時使用“人民”即可涵蓋帶有“人民幣”的文章。對Solr加入中文索引,需要將IKAnalyzer的jar包導入/Tomcat 6.0/webapps/solr的lib里,然后在solr/conf/schema.xml中節點下添加個類型,從而實現索引和查詢的中文分詞。

4.結語

企業級搜索引擎目前發展還不完善,本文采用開源的Solr作為構建企業級搜索引擎的核心,定制了網絡爬蟲Heritrix的Extractor方法,在單臺服務器上實現了一款基于SSH設計框架的企業級搜索引擎,具有一定的使用價值。如果進一步增加網絡設備,可實現基于Solr的分布式的垂直搜索引擎,進行實際使用和推廣。

主站蜘蛛池模板: 综合久久久久久久综合网| 美女潮喷出白浆在线观看视频| 亚洲一区二区日韩欧美gif| 欧美日韩激情在线| 国产亚洲日韩av在线| 免费高清毛片| 婷婷综合亚洲| 色综合五月| 亚洲第一成年网| 国产一区二区三区在线精品专区| 无码乱人伦一区二区亚洲一| 99免费在线观看视频| 青青久视频| 亚洲欧美不卡视频| 国产丝袜一区二区三区视频免下载| 国产成人一级| 91精品国产91久久久久久三级| 99久久国产综合精品2023| 久久精品人人做人人爽97| 国产专区综合另类日韩一区| 国产aⅴ无码专区亚洲av综合网| 最新国产网站| 伊人国产无码高清视频| 国产在线观看精品| 国产在线观看99| 国产精品手机在线观看你懂的| 尤物午夜福利视频| 国产一区二区人大臿蕉香蕉| 国产日本视频91| 国产福利小视频高清在线观看| 美女无遮挡拍拍拍免费视频| 蜜桃臀无码内射一区二区三区 | 人妻无码AⅤ中文字| 91系列在线观看| 久久香蕉国产线看观| 精品在线免费播放| 亚洲精品视频免费观看| 91青青在线视频| 国产成人啪视频一区二区三区| 99热这里只有精品在线播放| 精品一区二区三区自慰喷水| 国产亚洲精品无码专| 欧美日韩一区二区在线免费观看 | 久久这里只有精品国产99| 五月婷婷精品| 99热最新网址| 亚洲精品午夜无码电影网| 亚洲欧美在线综合一区二区三区 | 强乱中文字幕在线播放不卡| 亚洲第七页| 国产一区二区免费播放| 在线无码九区| 国产成人精品免费视频大全五级| 久久五月天综合| 一本色道久久88亚洲综合| 黄色免费在线网址| 毛片网站免费在线观看| 九一九色国产| 午夜日b视频| 久久99精品国产麻豆宅宅| 国产精彩视频在线观看| 亚洲一级无毛片无码在线免费视频| 久久久久亚洲精品无码网站| 国内精品视频| 波多野结衣爽到高潮漏水大喷| 国产一区二区三区夜色| 制服丝袜一区| 日日碰狠狠添天天爽| 第一页亚洲| 国产杨幂丝袜av在线播放| 国产亚洲精品自在久久不卡 | 成人在线综合| 色窝窝免费一区二区三区| 丁香婷婷激情网| 色综合综合网| 免费看黄片一区二区三区| 丁香婷婷激情网| 亚洲综合18p| 九色综合视频网| 国产女人18水真多毛片18精品| 国产视频自拍一区| 日韩精品无码不卡无码|