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

基于Solr的分布式鐵路科技資源整合與檢索實踐

2014-08-01 15:08:13李雪山
鐵路計算機應用 2014年7期
關鍵詞:數(shù)據(jù)庫科技信息

李雪山

(中國鐵道科學研究院 科學技術信息研究所,北京 100081)

基于Solr的分布式鐵路科技資源整合與檢索實踐

李雪山

(中國鐵道科學研究院 科學技術信息研究所,北京 100081)

根據(jù)鐵路科技信用與能力評價的實際需要,針對鐵路科技資源存儲、利用現(xiàn)狀,基于Solr開源搜索平臺,提出了分布式鐵路科技資源整合與檢索解決方案,設計了檢索框架,闡述了具體操作方法,進行了實際應用。

Solr;分布式;資源整合

鐵路科技信用與能力評價,是指按規(guī)范的指標體系和科學的評估方法,對被評價對象(如單位和個人)的科研行為、科研成果等全面了解、分析的基礎上,作出有關其科研能力、信用可靠性、安全性程度的估量。科技信用與能力評價有利于規(guī)范科研行為、避免科研失信、提高科研效率,降低科技投入風險。

鐵路科研行為、成果信息廣泛存在于被評價對象科研活動中,如立項申報、投標、課題實施、結題、科技獎勵、論文(專著)發(fā)表、專利申請授權及成果轉化情況等。而這些科研活動信息分散于不同的系統(tǒng)或網(wǎng)絡應用中,存在標準不統(tǒng)一、數(shù)據(jù)結構不統(tǒng)一、異構平臺和異構應用等問題。而要對被評價對象的科技信用和能力作出科學、全面的評價,則應首先對以上科技資源進行有效整合、充分利用。

1 資源整合方案選型

數(shù)據(jù)資源整合應基于已有系統(tǒng)或應用,在不影響其正常運行的基礎上,對其部分或全部數(shù)據(jù)進行抽取和有效利用。目前,搜索引擎技術不僅可以使得用戶快速獲得信息,且已成為數(shù)據(jù)資源整合的一個重要技術手段?;谒阉饕娴臄?shù)據(jù)整合方案已被越來越多的企業(yè)或技術人員研究應用。經(jīng)筆者調研,其主要應用模式有以下幾種:

(1)企業(yè)自己開發(fā)索引工具和軟件,對信息進行的索引、檢索,達到數(shù)據(jù)整合的目的。此模式存在軟件源碼、接口不開放,功能拓展和推廣應用困難。

(2)基于Lucene封裝實現(xiàn)信息索引。該模式在Lucene前期,其配套應用(Compass、Solr)還未推出前,有著較廣泛的應用,但存在工作量大、擴展性差、實際應用困難等問題。

(3)調用Google、百度的API實現(xiàn)信息索引。該模式對第三方搜索引擎具有較強依賴性,無法滿足后期業(yè)務擴展需要。

(4)基于Compass+Lucene實現(xiàn)信息索引。該模式適合對數(shù)據(jù)庫驅動的應用數(shù)據(jù)進行索引,是替代傳統(tǒng)的like ‘%expression%’來實現(xiàn)對varchar或clob等字段的索引。該模式對于實現(xiàn)站內搜索是一種值得采納的方案,但在分布式處理、接口封裝上尚需要用戶進行一定程度的封裝。

(5)基于Solr實現(xiàn)信息索引。該模式提供了較為完備的解決方案,封裝及擴展性均較好。

綜上,基于鐵路科技信用與能力評價的現(xiàn)狀,探究利用Solr對異構異源數(shù)據(jù)進行整合,提出了實現(xiàn)方法,并進行了實踐。

2 Solr搜索引擎

2.1 Solr簡介

Solr是Apache軟件基金會的一個開源子項目,它是一個高性能的、采用Java5開發(fā)的、基于Lucene全文搜索庫的企業(yè)搜索服務器。提供了強大的全文檢索、高亮顯示、分面搜索、動態(tài)集群、數(shù)據(jù)庫整合、分布式檢索、索引復制及豐富的文檔(如Word,PDF等)的處理和地理信息搜索等功能[1],并提供了完善的功能管理界面。

2.2 Solr與Lucene

Lucene也是Apache軟件基金會的一個子項目,是一個開放源代碼的全文檢索引擎工具包,它本身不是一個完整的搜索程序,只是搜索程序的核心和搜索模塊,可嵌入到各種應用中實現(xiàn)針對應用的索引、檢索功能[2]。

Solr是基于Lucene,并對Lucene的功能進行封裝和擴展后而形成的企業(yè)級搜索引擎。Solr實現(xiàn)了Lucene服務器化。Solr 和Lucene的區(qū)別主要為:Lucene本質上是搜索庫,需要進行二次開發(fā)才能集成到具體的應用中,而Solr是基于Lucene的獨立應用程序;Lucene專注于搜索底層的建設,而Solr專注于企業(yè)應用,不僅封裝了Lucene接口,實現(xiàn)了索引庫的讀寫,還可進行動態(tài)集群、數(shù)據(jù)庫整合、分布式檢索、索引復制等企業(yè)級應用操作。即,Solr是Lucene 面向企業(yè)搜索應用的擴展[3]。

2.3 Solr特性[4]

(1)易用性。Solr簡化了Lucene具體應用,使用戶無需或簡單編寫代碼就可實現(xiàn)其企業(yè)級應用。利用Solr,用戶在客戶端用POST方法向服務器發(fā)送請求,即可完成索引;Solr支持從數(shù)據(jù)庫、Web頁面和文本中直接導入數(shù)據(jù),進行索引;Solr還可根據(jù)需要修改配置文件,完成字段定義、是否被索引、是否存儲、中文分詞器、默認檢索字段、檢索方法等配置工作。

(2)異構性。Solr的一個突出特點是提供了對異構系統(tǒng)的數(shù)據(jù)整合方案,在動態(tài)集群、分布檢索、索引復制、檢索結果排序、查重、顯示等方面均提供了完整的解決方法。

(3)易集成性。Solr是一個Web應用,它支持PHP、Java、Perl、C#等多種客戶端調用其搜索和索引??蛻舳撕头斩酥g基于HTTP協(xié)議進行通信,客戶端可以創(chuàng)建HTTP請求,然后解析response成各語言能識別的對象或結果,這樣實現(xiàn)了Solr與多系統(tǒng)、多語言環(huán)境的集成。

3 檢索架構設計

目前,鐵路科技信用與能力評價所需數(shù)據(jù)分布在不同系統(tǒng)或應用中。如科研立項、實施及結題信息存在于科研系統(tǒng),招投標信息存在于科技招標系統(tǒng),鐵路科技成果鑒定、評審信息存在于成果管理系統(tǒng)中,獎勵信息則來源于國家科技部及鐵道學會網(wǎng)站,專利信息則來源于國家知識產(chǎn)權網(wǎng)站等?;谝陨蠈嶋H,筆者設計了檢索框架。該框架主要分為索引庫建立與檢索兩部分,簡述如下。

3.1 索引建立

如圖1所示,本文根據(jù)數(shù)據(jù)來源不同,采取了不同的數(shù)據(jù)采集、整合策略。因科研管理、招投標、成果管理等系統(tǒng)為筆者所在課題組開發(fā),擁有系統(tǒng)源代碼,并負責運營維護,在建立索引時,課題組在這些系統(tǒng)上部署了Solr索引模塊,實現(xiàn)了數(shù)據(jù)整合。具體過程如下:

(1)分析各系統(tǒng)要采集的數(shù)據(jù)信息(數(shù)據(jù)表及字段),在Schema.xml對采集字段進行元數(shù)據(jù)定義;

圖1 分布式索引檢索框架

(2)基于各系統(tǒng)業(yè)務數(shù)據(jù)庫,對已有數(shù)據(jù)進行批量導入,建立分布式異構索引庫;

(3)基于元數(shù)據(jù)定義,修改各業(yè)務系統(tǒng)相關代碼,對數(shù)據(jù)的增、刪、改等操作增加了Solr索引功能,實現(xiàn)了索引數(shù)據(jù)與具體業(yè)務數(shù)據(jù)的同步。

對于國家獎、鐵道學會獎、知識產(chǎn)權等非課題組管理的網(wǎng)站,利用Web-Harvest在通過對目標網(wǎng)站網(wǎng)頁結構進行分析的基礎上,提取了數(shù)據(jù),并通過Solr建立了索引,最終形成了分布式異構索引數(shù)據(jù)庫群。

3.2 數(shù)據(jù)檢索

Solr通過分布( Distributed)和復制( Replication)策略,實現(xiàn)了分布式數(shù)據(jù)的檢索[5]。Solr分布式檢索特性可將分布在多個服務器上的資源進行分別索引,再利用片(Shards)技術,將相同的檢索請求同時發(fā)送到集群內任意服務器進行檢索,最后將整合后的檢索結果返回到最初的調用服務器。此種特性使得分布式異構資源整合變得較為容易實現(xiàn)。檢索過程如圖2所示。

圖2 數(shù)據(jù)檢索流程

其中,Solr跨庫搜索器,主要接受用戶搜索查詢請求,并將用戶請求轉換為Solr內部語法格式后,向分布式shards發(fā)送查詢請求,并對查詢結果進行排序、查重、過濾后返回給用戶。Solr跨庫搜索器實現(xiàn)較為簡單,可部署于任意服務器上,其示例代碼如下:http://localhost/solr/selec t?shards=172.20.0.62:8083/solr, 172.20.0.65:8083/ solr&q=鐵路&facet=true&facet.field=name。其中,172.20.0.62:8083/solr與172.20.0.65:8083/solr為兩個分布式索引服務器地址。

4 檢索實現(xiàn)

4.1 Solr安裝配置

Solr的運行,需先安裝在JDK和Servlet 容器(如tomcat),然后下載Solr安裝文件(本文使用4.4版本),解壓后拷貝dist目錄下的solr-4.4.0.war文件到tomcat 的webapps 目錄下, 并重命名為solr.war。設定工作目錄為D:solrhome solr,并將example下multicore中配置文件拷貝到其中。打開webapps下Solr網(wǎng)站中的web.xml文件,在其中加入:

solr/home

D: solrhomesolr

java.lang.String

以指定工作目錄的位置。然后訪問http:// localhost:8080/solr出現(xiàn)Solr的系統(tǒng)管理界面,則配置成功。

4.2 中文分詞配置

英文以空格作為分隔符,而中文詞語之間沒有分隔,在建立中文搜索引擎時,首先需要對中文進行切詞。目前,此類工具較多如IKAnalyer、Paoding、mmseg4j等。本文使用mseg4j-1.9.1進行了切詞。將mseg4j下載并解壓后將其dist下的jar包拷貝到tomcatwebappssolrWEB-INFlib目錄中。最后,修改Schema.xml文檔中的內容,在標簽中添加如下內容:

實現(xiàn)了對中文分詞器的配置。

4.3 元數(shù)據(jù)定義

在數(shù)據(jù)索引前,需先在Schema.xml文件中對要索引的字段進行定義,具體包括字段(fields),唯一標識符(uniqueKey),默認檢索字段(defaultSearchField),默認搜索設置(solrQueryParser)等。代碼片段如下:

//唯一標示符設置

name

其中節(jié)點具體定義了要索引字段的配置,name是字段名、type是分詞器,indexed是否被索引,stored是否存儲。copyField是將所有的字段復制到一個字段中,以便進行統(tǒng)一檢索,solrQueryParser配置了默認檢索參數(shù)之間的邏輯關系,可為OR,也可為AND。

4.4 數(shù)據(jù)批量導入與索引庫建立

對已有的數(shù)據(jù),如鐵路科研立項、結題、成果鑒定等數(shù)據(jù),本文利用DataImportHandler進行了直接數(shù)據(jù)庫導入。其在Solr的主要配置如下:

在solrconfig.xml文件中加入:

class="org.apache.solr.handler.dataimport. DataImportHandler">

此步啟用了批量數(shù)據(jù)導入模塊,并指定了數(shù)據(jù)庫配置文件db-data-config.xml。

在db-data-config.xml中加入:

url="jdbc:sqlserver://localhost:1433;Datab aseName=bky"

user="sa" password="sa"/>配置了數(shù)據(jù)庫名,訪問用戶名密碼等信息。

在db-data-config.xml中加入:

query="select ID,PROJECT_NAME,MAIN _CONTENT from PROJECT"

deltaImportQuery="select from PROJECT where ID ='$ {dataimporter.delta.ID}'" >

此部分為執(zhí)行導入配置了具體數(shù)據(jù)表及字段。deltaQuery 和deltaImportQuery 為執(zhí)行增量導入時的數(shù)據(jù)庫查詢語句,選擇CHANGEDATE的時間大于上次執(zhí)行導入的時間的條目,實現(xiàn)了增量導入,避免了全部導入重復內容浪費的時間。Query未執(zhí)行完全導入時執(zhí)行的數(shù)據(jù)庫查詢語句。

4.5 查詢、添加與刪除索引

Solr 提供了基于Java的API,即SolrJ。SolrJ對HTTP 鏈接和XML 命令進行了封裝,為使用Java代碼處理Solr更加方便,簡化了索引創(chuàng)建、搜索、排序和分類等操作。查詢主要代碼如下:

HttpSolrServer solrServer= new HttpSolr-Server(URL);

SolrQuery query = new SolrQuery();

query.setQuery(":");

QueryResponse rsp = solrServer.query( query );

SolrDocumentList docs = rsp.getResults();for ( Object obj:docs) {

SolrDocument doc=(SolrDocument)obj;

String name = (String ) doc.getFieldValue ("name");

}

通過SolrJ需先連接HttpSolrServer,定義SolrQuery,添加查詢語句setQuery(),然后通過QueryResponse 類型的對象讀出查詢結果;添加索引時,先創(chuàng)建SolrInputDocument對象,通過addField() 方法添加相應內容,最后執(zhí)行add()以及commit()即可;在建立連接的基礎上執(zhí)行deleteByQuery () 方法,并commit()即可刪除索引。

5 結束語

Solr作為一種開源的搜索引擎,具有功能強大、易實施、易應用,靈活性、可擴展性強等優(yōu)點,為數(shù)據(jù)資源整合、索引、檢索提供了一套較為簡單的模式。將其應用在網(wǎng)站索引、檢索及數(shù)據(jù)資源集成檢索等系統(tǒng)中具有明顯優(yōu)勢,前景廣闊。本文根據(jù)實際需求,基于Solr提出了分布式鐵路科技資源整合與檢索解決方案,設計了系統(tǒng)框架,并進行了實踐,取得了較好的效果。

[1] Apache Solr[EB/OL]. http://lucene.apache.org/solr/,2014-01-07.

[2] 管建和,甘劍峰.基于Lucene全文檢索引擎的應用研究與實現(xiàn)[J].計算機工程與設計,2007(1):489-491.

[3] netoearth. Apache Solr 介紹[EB/OL]. http://blog.netoearth. com/html/201104/apache-solr-介紹.htm,2014-1-4.

[4] 張建勇,廖 鳳,劉小兵,陶超全.集群與負載均衡技術在國際科學引文數(shù)據(jù)庫服務系統(tǒng)中的應用研究[J].現(xiàn)代圖書情報技術,2010(6):25.

[5] 馬鳳娟,吳鵬飛.基于solr的異構資源集成檢索框架設計與實現(xiàn)[J].現(xiàn)代情報,2012(8):133-135.

責任編輯 徐侃春

Solr-based practice and retrieval of distributed railway technology resource integration

LI Xueshan
( Scientif i c and Technical Information Research Institute, China Academy of Railway Sciences, Beijing 100081, China )

According to the actual needs concerning the credit and capability evaluation of railway technology and the status quo with regard to the storage and utilization of railway technology resources, this paper, based on the solr open-source information retrieval platform, proposed the distributed solution to the railway technology resource integration and retrieval, designed the systematic framework, elaborated the specific operation methods and applied them in practice.

Solr; distributed solution; resource integration

U29∶TP39

A

1005-8451(2014)07-0039-05

2013-12-19

中國鐵路總公司科技研究開發(fā)計劃項目(2011Z011-A)。

李雪山 ,副研究員。

猜你喜歡
數(shù)據(jù)庫科技信息
科技助我來看云
科技在線
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
科技在線
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
科技在線
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 色综合久久无码网| 国产丝袜无码精品| 日韩AV无码免费一二三区| 精品国产污污免费网站| 色婷婷狠狠干| 国产精品美女免费视频大全 | 欧美成人免费一区在线播放| 国产成人高清精品免费软件| 欧美精品成人一区二区视频一| 91视频区| 刘亦菲一区二区在线观看| 在线一级毛片| 刘亦菲一区二区在线观看| 欧美成人影院亚洲综合图| 91九色视频网| 无码久看视频| 久久精品亚洲中文字幕乱码| 99国产精品一区二区| 一级爆乳无码av| 日韩AV无码一区| 国产欧美日韩一区二区视频在线| 中国国产高清免费AV片| 日韩黄色精品| 国产菊爆视频在线观看| 婷婷伊人久久| 蜜桃视频一区| 久久久久国产一区二区| 91久久精品国产| 国产原创自拍不卡第一页| 亚洲精品无码久久毛片波多野吉| 丁香五月激情图片| 精品国产一二三区| 91麻豆国产视频| 日本午夜三级| 青青草欧美| 一本色道久久88综合日韩精品| 欧美特黄一级大黄录像| 99re视频在线| 亚洲第一成年网| 精品久久久久成人码免费动漫 | 日本草草视频在线观看| 欧美激情伊人| 国内精品久久久久久久久久影视| 香蕉蕉亚亚洲aav综合| 日韩无码黄色| 97国产精品视频自在拍| 国产精品福利在线观看无码卡| 综1合AV在线播放| 999精品免费视频| 欧美成一级| 久久久国产精品免费视频| 日本欧美在线观看| 中文字幕丝袜一区二区| 综合亚洲色图| 国产一级毛片高清完整视频版| 老司机精品一区在线视频| 国产噜噜噜| 91久久性奴调教国产免费| 视频一区视频二区中文精品| 男人天堂伊人网| 国产成人精品一区二区不卡| 国产视频你懂得| 国禁国产you女视频网站| 欧美日韩久久综合| 麻豆精品国产自产在线| 不卡的在线视频免费观看| 亚洲天堂精品在线观看| 日韩无码视频播放| 久久久久亚洲AV成人人电影软件 | 99热这里只有成人精品国产| 91久久偷偷做嫩草影院免费看 | 精品伊人久久大香线蕉网站| 无码丝袜人妻| 亚洲大尺度在线| 免费观看男人免费桶女人视频| 国产亚洲欧美在线人成aaaa| 多人乱p欧美在线观看| 久久精品人人做人人爽97| a亚洲视频| 在线看片国产| 国产aⅴ无码专区亚洲av综合网 | 国产午夜福利在线小视频|