專利名稱:一種基于非編系統(tǒng)的媒資檢索方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)媒體技術(shù)領(lǐng)域,特別涉及一種基于ApacheSolr的媒資檢索方法和系統(tǒng)。
背景技術(shù):
媒體資產(chǎn)主要指內(nèi)容資產(chǎn),報(bào) 社、廣播電臺(tái)、電視臺(tái)、網(wǎng)站、通訊社等媒體單位,每天都要生產(chǎn)大量的文字、圖片、音視頻等新聞業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)和描述這些數(shù)據(jù)的元數(shù)據(jù)以及它們的版權(quán)信息等。Lucene是一個(gè)開放源代碼的全文檢索引擎工具包,即它不是一個(gè)完整的全文檢索引擎,而是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎。Lucene是一個(gè)高性能、可伸縮的信息搜索(IR)庫,它使你可以為你的應(yīng)用程序添加索引和搜索能力,作為一個(gè)全文檢索引擎,其具有如下突出的優(yōu)點(diǎn)(I)索引文件格式獨(dú)立于應(yīng)用平臺(tái)。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺(tái)的應(yīng)用能夠共享建立的索引文件。(2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實(shí)現(xiàn)了分塊索引,能夠針對(duì)新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達(dá)到優(yōu)化的目的。(3)優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對(duì)于Lucene擴(kuò)展的學(xué)習(xí)難度降低,方便擴(kuò)充新功能。(4)設(shè)計(jì)了獨(dú)立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴(kuò)展新的語言和文件格式,只需要實(shí)現(xiàn)文本分析的接口(5)已經(jīng)默認(rèn)實(shí)現(xiàn)了一套強(qiáng)大的查詢引擎,用戶無需自己編寫代碼即使系統(tǒng)可獲得強(qiáng)大的查詢能力,Lucene的查詢實(shí)現(xiàn)中默認(rèn)實(shí)現(xiàn)了布爾操作、模糊查詢、分組查詢等等。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)有以下缺陷如圖I所示,直接使用Lucene的單索引庫方式是由應(yīng)用程序本身直接調(diào)用Lucene開源類庫,直接建立索引,檢索時(shí)也是使用Lucene類庫的API直接檢索索引庫中的資源,不能通過動(dòng)態(tài)字段檢索,所耗費(fèi)的檢索時(shí)間較長,一條檢索目錄需要17-18秒,效率較低,而且準(zhǔn)確率較低。
發(fā)明內(nèi)容
本發(fā)明提供一種基于Apache Solr的媒資檢索方法和系統(tǒng),利用ApacheSolr具有的群集部署方式,通過動(dòng)態(tài)字段的檢索,縮短了檢索時(shí)間并提高了準(zhǔn)確率。本發(fā)明提供一種基于Apache Solr的媒資檢索方法,包括以下步驟Apache Solr接收用戶發(fā)送的檢索請(qǐng)求;檢測主從Lucene索引庫的設(shè)備情況,將所述用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫;根據(jù)所述檢索請(qǐng)求中攜帶的檢索條件從主從索引庫中尋找符合檢索條件的對(duì)象返回給用戶。本發(fā)明還提供了一種基于Apache Solr的媒資檢索系統(tǒng),包括用戶交互模塊,用于接收用戶發(fā)送的檢索請(qǐng)求,及將符合檢索條件的對(duì)象發(fā)送給用戶;均衡模塊,用于檢測主從Lucene索引庫的設(shè)備情況,將用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫;檢索模塊,根據(jù)檢索條件尋找符合檢索條件的對(duì)象。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域 普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為現(xiàn)有技術(shù)使用Lucene的單索引庫的媒資檢索方式圖;圖2為本發(fā)明實(shí)施例基于Apache Solr的媒資檢索系統(tǒng)結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例基于Apache Solr的媒資檢索方法的流程圖;圖4為本發(fā)明實(shí)施例基于Apache Solr的媒資檢索系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,需要指出的是,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種基于Apache Solr的媒資檢索方法,如圖3所不,包括SlOl, Apache Solr接收用戶發(fā)送的檢索請(qǐng)求。用戶根據(jù)自身需求選擇自己所要的目標(biāo)的條件,向Apache Solr發(fā)送檢索請(qǐng)求,檢索請(qǐng)求中攜帶檢索條件。S102,檢測主從Lucene索引庫的設(shè)備情況,將所述用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫。由于Apache Solr具有群集部署方式,可同時(shí)支持多個(gè)Lucene索引庫,包括一個(gè)Lucene主索引庫和多個(gè)Lucene從索引庫。Apache Solr根據(jù)接收到的用戶發(fā)送的檢索請(qǐng)求中攜帶的檢索條件建立索引指令,并根據(jù)檢測到得多個(gè)Lucene索引庫的設(shè)備情況,將索引指令寫入Lucene主索引庫,并同步到可用的Lucene從索引庫,即Apache Solr將用戶的請(qǐng)求根據(jù)當(dāng)時(shí)設(shè)備情況自動(dòng)均衡到所有可用的索引庫,從而完成群集的響應(yīng)支持。S103,根據(jù)檢索請(qǐng)求中攜帶的檢索條件從主從索引庫中尋找符合檢索條件的對(duì)象返回給用戶。由于Apache Solr支持對(duì)Lucene索引庫的更高級(jí)封裝,因此元數(shù)據(jù)的XML的所有節(jié)點(diǎn)內(nèi)容均作為一個(gè)獨(dú)立的字段存儲(chǔ)在Lucene索引庫中。相對(duì)于傳統(tǒng)全文索引方式將整個(gè)XML內(nèi)容text存儲(chǔ)在一個(gè)字段中進(jìn)行模糊匹配,這樣的特性明顯優(yōu)于傳統(tǒng)全文索引的方式,它支持指定字段內(nèi)進(jìn)行文本內(nèi)容或其他數(shù)據(jù)類型(整型、字符型、日期型等)的模糊匹配和區(qū)間匹配,同時(shí)也支持了檢索結(jié)果按照某一個(gè)或多個(gè)字段排序輸出。配置也很簡單,對(duì)于應(yīng)用程序來說,只需要記錄哪個(gè)服務(wù)器是主服務(wù)器,哪些服務(wù)器是從服務(wù)器,均使用Jboss-web部署Apache Solr應(yīng)用。Solr應(yīng)用本身需要配置的信息則在Schema, xml中定義動(dòng)態(tài)字段的規(guī)則根據(jù)字段名稱中的后綴決定該字段的數(shù)據(jù)類型,如后綴為“_1 ”標(biāo)示一個(gè)long型字段,后綴為“_d”表示一個(gè)日期型字段。配置完成后,啟動(dòng)Apache Solr應(yīng)用就可以調(diào)用其API進(jìn)行索引創(chuàng)建和索引檢索的工作。根據(jù)檢索請(qǐng)求中攜帶的檢索條件中的字段與索引庫中保存的字段進(jìn)行匹配,查找符合條件的字段。本發(fā)明實(shí)施例通過基于Apache S olr的媒資檢索方法,支持橫表可擴(kuò)展動(dòng)態(tài)字段,以及群集的網(wǎng)絡(luò)訪問流量均衡,檢索耗費(fèi)時(shí)間從原來的10秒以上縮短至亞秒級(jí),從而達(dá)到高效的目的,通過擴(kuò)展字段的數(shù)據(jù)類型聲明后可進(jìn)行區(qū)間檢索和結(jié)果排序,達(dá)到更高的準(zhǔn)確度。本發(fā)明實(shí)施例還提供了一種基于Apache Solr的媒資檢索系統(tǒng),包括用戶交互模塊201,用于接收用戶發(fā)送的檢索請(qǐng)求,及將符合檢索條件的對(duì)象發(fā)送給用戶;均衡模塊202,用于檢測主從Lucene索引庫的設(shè)備情況,將用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫;檢索模塊203,根據(jù)檢索條件尋找符合檢索條件的對(duì)象。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于Apache Solr的媒資檢索方法,其特征在于,包括 Apache Solr接收用戶發(fā)送的檢索請(qǐng)求; 檢測主從Lucene索引庫的設(shè)備情況,將所述用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫; 根據(jù)所述檢索請(qǐng)求中攜帶的檢索條件從主從索引庫中尋找符合檢索條件的對(duì)象返回給用戶。
2.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,所述用戶發(fā)送的檢索請(qǐng)求攜帶用戶所要目標(biāo)的檢索條件。
3.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,Apache Solr同時(shí)支持多個(gè)Lucene索引庫,包括一個(gè)Lucene主索引庫和多個(gè)Lucene從索引庫,所述檢測主從Lucene索引庫的設(shè)備情況具體為檢測一個(gè)主Lucene索引庫和多個(gè)從Lucene索引庫的設(shè)備情況。
4.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,所述將所述用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫具體為根據(jù)接收到的所述用戶發(fā)送的檢索請(qǐng)求中攜帶的檢索條件建立索引指令,并根據(jù)檢測到得多個(gè)Lucene索引庫的設(shè)備情況,將索引指令寫入Lucene主索引庫,并同步到可用的Lucene從索引庫。
5.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,所述從主從索引庫中尋找符合檢索條件的對(duì)象前還包括配置應(yīng)用程序來說,記錄主服務(wù)器和從服務(wù)器,使用 Jboss-web 部署 Apache Solr 應(yīng)用。
6.如權(quán)利要求5所述的基于ApacheSolr的媒資檢索方法,其特征在于,還包括Solr應(yīng)用本身需要配置的信息則在Schema, xml中定義動(dòng)態(tài)字段的規(guī)則,所述規(guī)則為根據(jù)字段名稱中的后綴決定字段的數(shù)據(jù)類型。
7.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,Apache Solr支持對(duì)Lucene索引庫的更高級(jí)封裝,元數(shù)據(jù)的XML的所有節(jié)點(diǎn)內(nèi)容作為一個(gè)獨(dú)立的字段存儲(chǔ)在所述Lucene索引庫中。
8.如權(quán)利要求I所述的基于ApacheSolr的媒資檢索方法,其特征在于,所述根據(jù)所述檢索請(qǐng)求中攜帶的檢索條件從主從索引庫中尋找符合檢索條件的對(duì)象具體為根據(jù)檢索條件中指定字段內(nèi)進(jìn)行文本內(nèi)容或數(shù)據(jù)類型的模糊匹配和區(qū)間匹配,尋找到符合檢索條件的對(duì)象。
9.如權(quán)利要求7所述的基于ApacheSolr的媒資檢索方法,其特征在于,所述數(shù)據(jù)類型包括整型、字符型、日期型。
10.一種基于Apache Solr的媒資檢索系統(tǒng),其特征在于,包括 用戶交互模塊,用于接收用戶發(fā)送的檢索請(qǐng)求,及將符合檢索條件的對(duì)象發(fā)送給用戶; 均衡模塊,用于檢測主從Lucene索引庫的設(shè)備情況,將用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫; 檢索模塊,根據(jù)檢索條件尋找符合檢索條件的對(duì)象。
全文摘要
本發(fā)明實(shí)施例公開一種基于Apache Solr的媒資檢索方法和系統(tǒng),方法包括Apache Solr接收用戶發(fā)送的檢索請(qǐng)求;檢測主從Lucene索引庫的設(shè)備情況,將所述用戶發(fā)送的檢索請(qǐng)求均衡到所有索引庫;根據(jù)所述檢索請(qǐng)求中攜帶的檢索條件從主從索引庫中尋找符合檢索條件的對(duì)象返回給用戶。通過本發(fā)明實(shí)施例,利用Apache Solr具有的群集部署方式,通過動(dòng)態(tài)字段的檢索,縮短了檢索時(shí)間并提高了準(zhǔn)確率。
文檔編號(hào)G06F17/30GK102682036SQ201110066289
公開日2012年9月19日 申請(qǐng)日期2011年3月18日 優(yōu)先權(quán)日2011年3月18日
發(fā)明者孫偉, 王弋珵 申請(qǐng)人:新奧特(北京)視頻技術(shù)有限公司