国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于非結(jié)構(gòu)化文檔搜索的方法及裝置與流程

      文檔序號:12465721閱讀:307來源:國知局
      用于非結(jié)構(gòu)化文檔搜索的方法及裝置與流程

      本發(fā)明涉及數(shù)據(jù)庫信息處理領(lǐng)域,具體而言,涉及一種用于非結(jié)構(gòu)化文檔搜索的方法及裝置。



      背景技術(shù):

      我們生活中的數(shù)據(jù)總體分為兩種:結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù):指具有固定格式或有限長度的數(shù)據(jù),如數(shù)據(jù)庫,元數(shù)據(jù)等。非結(jié)構(gòu)化數(shù)據(jù):指不定長或無固定格式的數(shù)據(jù),如郵件,word文檔等。當然有的地方還會提到第三種數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù),如XML,HTML等,半結(jié)構(gòu)化數(shù)據(jù)根據(jù)需要可按結(jié)構(gòu)化數(shù)據(jù)來處理,也可抽取出純文本按非結(jié)構(gòu)化數(shù)據(jù)來處理。非結(jié)構(gòu)化數(shù)據(jù)又稱為全文數(shù)據(jù)。按照數(shù)據(jù)不同的分類,數(shù)據(jù)的搜索也分為兩種:對結(jié)構(gòu)化數(shù)據(jù)的搜索:如對數(shù)據(jù)庫的搜索,可例如,使用SQL語句。再如對元數(shù)據(jù)的搜索,可例如,利用windows搜索對文件名,類型,修改時間進行搜索等。對非結(jié)構(gòu)化數(shù)據(jù)的搜索:可例如,利用windows的搜索可以搜索文件內(nèi)容,還可例如,利用Linux下的grep命令,還可例如,用Google和百度可以搜索大量內(nèi)容數(shù)據(jù)。

      隨著信息化的高速發(fā)展,企業(yè)、政府機關(guān)的非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)量急速膨脹,使得非結(jié)構(gòu)化數(shù)據(jù)的可搜索化成為亟待解決的一個問題。非結(jié)構(gòu)化數(shù)據(jù)搜索需要為非結(jié)構(gòu)化文件提供方便快捷的搜索功能,最終達到非結(jié)構(gòu)化數(shù)據(jù)能夠與結(jié)構(gòu)化數(shù)據(jù)的搜索一樣,提供垂直搜索服務(wù)。

      因此,需要一種用于非結(jié)構(gòu)化文檔搜索的方法及裝置。

      在所述背景技術(shù)部分公開的上述信息僅用于加強對本發(fā)明的背景的理解,因此它可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。



      技術(shù)實現(xiàn)要素:

      有鑒于此,本發(fā)明提供一種用于非結(jié)構(gòu)化文檔搜索的方法及裝置,能夠?qū)A糠墙Y(jié)構(gòu)化文檔數(shù)據(jù)進行近實時搜索。

      本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分的通過本發(fā)明的實踐而習(xí)得。

      根據(jù)本發(fā)明的一方面,提出一種用于非結(jié)構(gòu)化文檔搜索的方法,該方法包括:獲取非結(jié)構(gòu)化文檔;解析非結(jié)構(gòu)化文檔,以提取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容;以及將元數(shù)據(jù)和內(nèi)容遠程上傳至索引服務(wù)器。

      在本公開的一種示例性實施例中,解析非結(jié)構(gòu)化文檔,包括:確定非結(jié)構(gòu)化文檔待索引的域,以及域的權(quán)重;生成自適應(yīng)的索引結(jié)構(gòu);以及根據(jù)Mapping結(jié)構(gòu)解析非結(jié)構(gòu)化文檔。

      在本公開的一種示例性實施例中,生成自適應(yīng)索引結(jié)構(gòu),包括:根據(jù)非結(jié)構(gòu)化文檔的規(guī)模,生成自適應(yīng)的索引結(jié)構(gòu)。

      在本公開的一種示例性實施例中,還包括:確定非結(jié)構(gòu)化文檔的Mapping結(jié)構(gòu)。

      在本公開的一種示例性實施例中,還包括:發(fā)送搜索請求,搜索請求包括:確定域搜索請求、不確定域搜索請求。

      根據(jù)本發(fā)明的一方面,提出一種用于非結(jié)構(gòu)化文檔搜索的方法,該方法包括:初始化服務(wù)器;獲取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容;以及儲存和/或索引非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      在本公開的一種示例性實施例中,初始化服務(wù)器,包括:部署數(shù)據(jù)庫集群和索引集群;初始化數(shù)據(jù)庫表結(jié)構(gòu);以及初始化索引結(jié)構(gòu)。

      在本公開的一種示例性實施例中,初始化服務(wù)器,還包括:部署分布式文件系統(tǒng)。

      在本公開的一種示例性實施例中,索引集群,包括:Elasticsearch索引服務(wù)器。

      在本公開的一種示例性實施例中,索引結(jié)構(gòu),包括:Mapping結(jié)構(gòu)。

      在本公開的一種示例性實施例中,服務(wù)器,包括:文件服務(wù)器、數(shù)據(jù)庫服務(wù)器以及索引服務(wù)器。

      在本公開的一種示例性實施例中,包括:文件服務(wù)器與數(shù)據(jù)庫服務(wù)器、索引服務(wù)器通信,存儲和/或索引非結(jié)構(gòu)化文檔。

      在本公開的一種示例性實施例中,還包括:接收搜索請求,并提供搜索結(jié)果,搜索請求包括:確定域搜索請求、不確定域搜索請求。

      根據(jù)本發(fā)明的一方面,提出一種用于非結(jié)構(gòu)化文檔搜索的裝置,該裝置包括:第一接收模塊,用于獲取非結(jié)構(gòu)化文檔;解析模塊,用于解析非結(jié)構(gòu)化文檔,以提取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容;以及上傳模塊,用于將元數(shù)據(jù)和內(nèi)容遠程上傳至索引服務(wù)器。

      在本公開的一種示例性實施例中,解析模塊,包括:確定域子模塊,用于確定非結(jié)構(gòu)化文檔待索引的域,以及域的權(quán)重;結(jié)構(gòu)子模塊,用于生成自適應(yīng)的索引結(jié)構(gòu);以及解析子模塊,用于根據(jù)Mapping結(jié)構(gòu)解析所述非結(jié)構(gòu)化文檔。

      根據(jù)本發(fā)明的一方面,提出一種用于非結(jié)構(gòu)化文檔搜索的裝置,該裝置包括:初始化模塊,用于初始化服務(wù)器;第二接收模塊,用于獲取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容;以及索引模塊,用于儲存和/或索引非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,能夠?qū)A糠墙Y(jié)構(gòu)化文檔數(shù)據(jù)進行近實時搜索。

      應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。

      附圖說明

      通過參照附圖詳細描述其示例實施例,本發(fā)明的上述和其它目標、特征及優(yōu)點將變得更加顯而易見。下面描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是根據(jù)一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的方法的流程圖。

      圖2是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的方法的流程圖。

      圖3是根據(jù)另一示例性實施例示出的一種非結(jié)構(gòu)化數(shù)據(jù)檢索平臺概念架構(gòu)圖。

      圖4是根據(jù)另一示例性實施例示出的一種非結(jié)構(gòu)化文檔解析處理變化圖。

      圖5是根據(jù)另一示例性實施例示出的一種非結(jié)構(gòu)化文檔解析處理性能對比圖。

      圖6是根據(jù)一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。

      圖7是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。

      圖8是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。

      具體實施例

      現(xiàn)在將參考附圖更全面的描述示例實施例。然而,示例實施例能夠以多種形式實施,且不應(yīng)被理解為限于在此闡述的實施例;相反,提供這些實施例使得本發(fā)明將全面和完整,并將示例實施例的構(gòu)思全面的傳達給本領(lǐng)域的技術(shù)人員。在圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復(fù)描述。

      此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施例中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施例的充分理解。然而,本領(lǐng)域技術(shù)人員將意識到,可以實踐本發(fā)明的技術(shù)方案而沒有特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知方法、裝置、實現(xiàn)或者操作以避免模糊本發(fā)明的各方面。

      附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應(yīng)。即,可以采用軟件形式來實現(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。

      附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內(nèi)容和操作/步驟,也不是必須按所描述的順序執(zhí)行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合并或部分合并,因此實際執(zhí)行的順序有可能根據(jù)實際情況改變。

      應(yīng)理解,雖然本文中可能使用術(shù)語第一、第二、第三等來描述各種組件,但這些組件不應(yīng)受這些術(shù)語限制。這些術(shù)語乃用以區(qū)分一組件與另一組件。因此,下文論述的第一組件可稱為第二組件而不偏離本公開概念的教示。如本文中所使用,術(shù)語「及/或」包括相關(guān)聯(lián)的列出項目中的任一個及一或多者的所有組合。

      本領(lǐng)域技術(shù)人員可以理解,附圖只是示例實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的,因此不能用于限制本發(fā)明的保護范圍。

      圖1是根據(jù)一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的方法的流程圖。

      如圖1所示,在S102中,獲取非結(jié)構(gòu)化文檔。如上文所述,在本實施例中,非結(jié)構(gòu)化文檔指不定長或無固定格式的數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)又一種叫法叫全文數(shù)據(jù)。非結(jié)構(gòu)化文檔可例如:包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等

      在S104中,解析非結(jié)構(gòu)化文檔,以提取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。對獲取得到的非結(jié)構(gòu)化文檔進行解析,提取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。元數(shù)據(jù)(Metadata),又稱中介數(shù)據(jù)、中繼數(shù)據(jù),為描述數(shù)據(jù)的數(shù)據(jù)(data about data),主要是描述數(shù)據(jù)屬性(property)的信息,用來支持如指示存儲位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。元數(shù)據(jù)算是一種電子式目錄,為了達到編制目錄的目的,必須在描述并收藏數(shù)據(jù)的內(nèi)容或特色,進而達成協(xié)助數(shù)據(jù)檢索的目的。元數(shù)據(jù)是關(guān)于數(shù)據(jù)的組織、數(shù)據(jù)域及其關(guān)系的信息。元數(shù)據(jù)被定義為:描述數(shù)據(jù)的數(shù)據(jù),對數(shù)據(jù)及信息資源的描述性信息。元數(shù)據(jù)是描述其它數(shù)據(jù)的數(shù)據(jù),或者說是用于提供某種資源的有關(guān)信息的結(jié)構(gòu)數(shù)據(jù)。

      一般情況下,非結(jié)構(gòu)化文檔的解析是通過專門插件實現(xiàn),在服務(wù)器端實現(xiàn)的。使用服務(wù)器端解析處理,進行文檔解析不可避免的包含以下缺點:1.插件的解析方法是固定的,導(dǎo)致可解析出的域是固定的,插件一般會采用解析盡可能多的域的方式來支持其可用性,這樣不僅會帶來信息贅余還可能無法解析出用戶所需要的域。2.非結(jié)構(gòu)化文檔必須全文傳遞到索引服務(wù)端才能被解析,實際情況經(jīng)常是對于30M的pdf文檔,解析出的文本內(nèi)容可能只有幾k的數(shù)據(jù),這樣帶來很大的網(wǎng)絡(luò)帶寬浪費。3.插件的性能、處理能力、異常等情況,用戶無法控制。在本發(fā)明的實施例中,將非結(jié)構(gòu)化文檔的解析處理,獨立出來在客戶端進行實現(xiàn)。

      在S106中,將元數(shù)據(jù)和內(nèi)容遠程上傳至索引服務(wù)器。將文檔解析后獲得的元數(shù)據(jù)和內(nèi)容上傳索引服務(wù)器。將非結(jié)構(gòu)化數(shù)據(jù)中的一部分信息提取出來,重新組織,使其變得有一定結(jié)構(gòu),然后對此有一定結(jié)構(gòu)的數(shù)據(jù)進行搜索,從而達到搜索相對較快的目的。這部分從非結(jié)構(gòu)化數(shù)據(jù)中提取出的然后重新組織的信息,稱為索引??衫?,在字典中,字典的拼音表和部首檢字表就相當于字典的索引,對每一個字的解釋是非結(jié)構(gòu)化的,如果字典沒有音節(jié)表和部首檢字表,在茫茫辭海中找一個字只能順序掃描。然而字的某些信息可以提取出來進行結(jié)構(gòu)化處理,比如讀音,就比較結(jié)構(gòu)化,分聲母和韻母,分別只有幾種可以一一列舉,于是將讀音拿出來按一定的順序排列,每一項讀音都指向此字的詳細解釋的頁數(shù)。在搜索時按結(jié)構(gòu)化的拼音搜到讀音,然后按其指向的頁數(shù),便可找到非結(jié)構(gòu)化數(shù)據(jù)-也即對字的解釋。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過在解析非結(jié)構(gòu)化時,進行不同配置的方式,能夠解除mapping-attachment插件本身對elasticsearch所支持的非結(jié)構(gòu)化文檔可搜索化的限制。

      應(yīng)清楚的理解,本發(fā)明描述了如何形成和使用特定示例,但本發(fā)明的原理不限于這些示例的任何細節(jié)。相反,基于本發(fā)明公開的內(nèi)容的教導(dǎo),這些原理能夠應(yīng)用于許多其它實施例。

      當索引服務(wù)器為Elasticsearch服務(wù)器時,Elasticsearch中非結(jié)構(gòu)化文檔的解析是通過mapping-attachments插件實現(xiàn)的,具體的實現(xiàn)原理是:使用特殊的mapping類型-attchment類型來標識非結(jié)構(gòu)化文檔中特定的域。那么,當elasticsearch接收到進入此mapping結(jié)構(gòu)的非結(jié)構(gòu)化文檔后,mapping-attachments插件被調(diào)用并進行此文檔的解析,提取出此文檔的元數(shù)據(jù)和內(nèi)容,進行索引。

      以下文的一個情況為例,某企業(yè)需要索引一批非結(jié)構(gòu)化文檔,可例如pdf文檔,主要包括這一批文檔的標簽,上傳日期和文件內(nèi)容三個域。如果使用傳統(tǒng)elasticsearch索引文檔的方式,可例如,使用下面的mapping結(jié)構(gòu)完成。

      其中,label域用戶存儲用戶為文檔所打標簽,date存儲文檔導(dǎo)入時間,content域則存儲mapping-attachments插件能夠解析的內(nèi)容。此mapping結(jié)構(gòu)比較看似簡單、整潔,實際上mapping-attachment插件會解析出CONTENT、TITLE、NAME、AUTHOR、KEYWORDS、DATE、CONTENT_TYPE、CONTENT_LENGTH、LANGUAGE等9個域。然而,這些域有極大可能并不實用,并且存在無法被解析出來域時,此域會被CONTENT域填充內(nèi),在搜索指定返回的具體時,由于CONTENT域可能非常大,而使搜索返回性能急劇下降;并且,使用插件,無法在索引過程中,對這9個域的mapping參數(shù)進行修改。

      在本公開的一種示例性實施例中,解析非結(jié)構(gòu)化文檔,包括:確定非結(jié)構(gòu)化文檔待索引的域,以及域的權(quán)重;生成自適應(yīng)的索引結(jié)構(gòu);以及根據(jù)Mapping結(jié)構(gòu)解析非結(jié)構(gòu)化文檔。在遇到如上文所述的情況時,可以按照具體情況定義索引結(jié)構(gòu)。還可以確定所述非結(jié)構(gòu)化文檔的Mapping結(jié)構(gòu)。通過mapping結(jié)構(gòu),配置不同類型相對而言就靈活多了??衫?,根據(jù)待索引的所述非結(jié)構(gòu)化文檔的規(guī)模,生成自適應(yīng)的所述索引結(jié)構(gòu)。還可例如,根據(jù)待索引的文檔的內(nèi)容,確定非結(jié)構(gòu)化文檔待索引的域,還可以根據(jù)待索引的域,配置索引結(jié)構(gòu),進而根據(jù)索引結(jié)構(gòu)解析非結(jié)構(gòu)化文檔??衫?,根據(jù)關(guān)注點,確定待索引的域的權(quán)重。如上文所述的情況,可例如,上傳文檔的用戶對文檔的內(nèi)容和標題感興趣,可例如,給與標題更高的權(quán)重,配置如下的mapping結(jié)構(gòu):

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過將非結(jié)構(gòu)化文檔在客戶端進行解析的方式,具有更好的靈活性、能夠有效提高批量索引的速度。

      在本公開的一種示例性實施例中,還包括:發(fā)送搜索請求,搜索請求包括:確定域搜索請求、不確定域搜索請求。非結(jié)構(gòu)化數(shù)據(jù)搜索分為確定域搜索和不確定域搜索??衫纾瑢⒂蚍譃闃祟}、內(nèi)容、標簽、描述四個域,用戶可指定直接在這些域中搜索;當用戶不指定搜索域時,即為不確定域搜索,會在所有域內(nèi)搜索關(guān)鍵詞。

      圖2是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的方法的流程圖。

      如圖2所示,在S202中,初始化服務(wù)器。對數(shù)據(jù)庫服務(wù)器和索引服務(wù)器進行初始化。

      在S204中,獲取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。如上文所述,在客戶端進行非結(jié)構(gòu)化文檔的解析,服務(wù)器端獲取非結(jié)構(gòu)化文檔解析后生成結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。還可例如,可通過netty構(gòu)建文件服務(wù)器和瀏覽器構(gòu)成C/S結(jié)構(gòu),通過為前端添加單文件上傳、批量上傳和管理等功能頁面滿足用戶的索引需求。

      在S206中,儲存和/或索引非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      在本公開的一種示例性實施例中,初始化服務(wù)器,包括:a、部署數(shù)據(jù)庫集群和索引集群,數(shù)據(jù)庫集群可例如,用分布式文件系統(tǒng)代替,初始化分布式文件系統(tǒng)。索引集群,可例如:elasticsearch索引服務(wù)器集群。b、初始化數(shù)據(jù)庫表結(jié)構(gòu),可例如,存儲文件批量導(dǎo)入狀態(tài)表結(jié)構(gòu)等。c、初始化索引服務(wù)器的索引結(jié)構(gòu),索引結(jié)構(gòu)可例如:mapping結(jié)構(gòu)。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,能夠?qū)⑵髽I(yè)所有非結(jié)構(gòu)化文檔數(shù)據(jù)進行存儲、管理并使用統(tǒng)一的搜索服務(wù)對海量非結(jié)構(gòu)文檔數(shù)據(jù)進行近實時搜索。

      在本公開的一種示例性實施例中,服務(wù)器,包括:文件服務(wù)器、數(shù)據(jù)庫服務(wù)器以及索引服務(wù)器。

      在本公開的一種示例性實施例中,包括:文件服務(wù)器與數(shù)據(jù)庫服務(wù)器、索引服務(wù)器通信,存儲和/或索引非結(jié)構(gòu)化文檔。

      在本公開的一種示例性實施例中,還包括:接收搜索請求,并提供搜索結(jié)果,搜索請求包括:確定域搜索請求、不確定域搜索請求。服務(wù)器還可例如,提供搜索服務(wù),可例如,提供確定域搜索、不確定域搜索。還可例如,在索引和查詢階段可以按情況引入語言分詞器,來提高搜索的準確度。

      圖3是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的方法的示意圖。

      非結(jié)構(gòu)化數(shù)據(jù)檢索平臺概念架構(gòu)圖主要包括四個模塊:客戶端302、文件服務(wù)器304、數(shù)據(jù)庫服務(wù)器集群306、索引服務(wù)器集群308??蛻舳?02主要是和文件服務(wù)器304相對應(yīng),可根據(jù)用戶需求,定制開發(fā)客戶端功能;例如,可通過提供搜索界面向用戶開放非結(jié)構(gòu)化數(shù)據(jù)的搜索服務(wù);可通過提供管理接口,如:添加、刪除、更新等,向用戶開放非結(jié)構(gòu)化數(shù)據(jù)的管理服務(wù)。文件服務(wù)器304主要完成接受客戶端302的請求,對客戶端302上傳的文件或者批量文件進行元數(shù)據(jù)和內(nèi)容提取,然后將元數(shù)據(jù)和原始文件數(shù)據(jù)存儲到數(shù)據(jù)庫服務(wù)器集群306,將可搜索數(shù)據(jù)存儲到索引服務(wù)器集群308。數(shù)據(jù)庫服務(wù)器集群306主要作用是存儲描述文件數(shù)據(jù)的元數(shù)據(jù)和文件原始數(shù)據(jù);元數(shù)據(jù)包括文件上傳批次、時間、總大小等。索引服務(wù)器集群308主要用來索引可搜索化數(shù)據(jù),如文件的內(nèi)容,文件標簽,文件描述,文件上傳時間,文件上傳者等。

      使用上述架構(gòu),批量上傳非結(jié)構(gòu)化數(shù)據(jù)的基本流程是,用戶可通過前端(如瀏覽器或者其它可支持的前端)將文件上傳到文件服務(wù)器,文件服務(wù)器會與數(shù)據(jù)庫服務(wù)器和索引服務(wù)器進行通訊,完成非結(jié)構(gòu)化數(shù)據(jù)的存儲和索引,之后用戶就可使用前端頁面對所有上傳的文檔進行搜索展示。

      如上所述,數(shù)據(jù)庫服務(wù)器集群306的主要作用是存儲元數(shù)據(jù)和文件數(shù)據(jù)本身,這兩個功能的實現(xiàn)可使用多種方式且實現(xiàn)方式簡單;例如,使用非關(guān)系化數(shù)據(jù)庫cassandra,也可以使用關(guān)系數(shù)據(jù)庫mysql加分布式文件系統(tǒng)HDFS等方式。本發(fā)明不限于此。在本發(fā)明實施例中,可例如,配置如下:客戶端使用node、文件服務(wù)器使用netty、數(shù)據(jù)庫服務(wù)器集群使用cassandra、索引服務(wù)器集群使用elasticsearch。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過給出基于elasticsearch、cassandra和netty建立的文件存儲和搜索方案,能夠?qū)⑵髽I(yè)所有非結(jié)構(gòu)化文檔數(shù)據(jù)進行存儲、管理并使用統(tǒng)一的搜索服務(wù)對海量非結(jié)構(gòu)文檔數(shù)據(jù)進行近實時搜索。

      圖4是根據(jù)另一示例性實施例示出的一種非結(jié)構(gòu)化文檔解析處理變化圖。在圖4中,以Elasticsearch索引服務(wù)器為例,現(xiàn)有技術(shù)中Elasticsearch索引服務(wù)器中非結(jié)構(gòu)化文檔的解析是通過mapping-attachments插件實現(xiàn)的,在本發(fā)明實施例中,將非結(jié)構(gòu)化文檔的解析獨立出來形成單獨處理。

      解析處理功能獨立之后,非結(jié)構(gòu)化文檔會在客戶端解析,文檔被抽取出可索引的文本內(nèi)容之后,文件大小發(fā)生質(zhì)的變化;可充分減少文件在文件服務(wù)器和索引數(shù)據(jù)庫集群之間、以及索引數(shù)據(jù)庫之間的傳輸,如果文件服務(wù)器和索引數(shù)據(jù)庫集群不在同一局域網(wǎng),或者在網(wǎng)絡(luò)傳輸比較差的情況下,網(wǎng)絡(luò)傳輸會成為文件索引的瓶頸。解析處理獨立之后,可解決此問題;對于30M以上文件,索引速度一般會提高至少20倍,例如35.3M的pdf文檔分別使用傳統(tǒng)解析方式和解析模塊解析方式索引花費的時間分別為111秒和5秒,差距有22倍。其他統(tǒng)計性結(jié)果如圖5所示。

      本領(lǐng)域技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟被實現(xiàn)為由CPU執(zhí)行的計算機程序。在該計算機程序被CPU執(zhí)行時,執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

      此外,需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實施例的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。

      下述為本發(fā)明裝置實施例,可以用于執(zhí)行本發(fā)明方法實施例。對于本發(fā)明裝置實施例中未披露的細節(jié),請參照本發(fā)明方法實施例。

      圖6是根據(jù)一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。如圖6所示,用于非結(jié)構(gòu)化文檔搜索的裝置60包括:第一接收模塊602、解析模塊604、上傳模塊606。

      第一接收模塊602用于獲取非結(jié)構(gòu)化文檔。

      解析模塊604用于解析非結(jié)構(gòu)化文檔,以提取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      上傳模塊606用于將元數(shù)據(jù)和內(nèi)容遠程上傳至索引服務(wù)器。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過在解析非結(jié)構(gòu)化時,進行不同配置的方式,能夠解除mapping-attachment插件本身對elasticsearch所支持的非結(jié)構(gòu)化文檔可搜索化的限制。

      圖7是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。如圖7是對圖6中解析模塊604的示例性說明,用于非結(jié)構(gòu)化文檔搜索的裝置70包括:確定域子模塊6042、結(jié)構(gòu)子模塊6044、解析子模塊6046。

      確定域子模塊6042用于確定所述非結(jié)構(gòu)化文檔待索引的域,以及所述域的權(quán)重。

      結(jié)構(gòu)子模塊6044用于生成自適應(yīng)的索引結(jié)構(gòu)。

      解析子模塊6046用于根據(jù)Mapping結(jié)構(gòu)解析所述非結(jié)構(gòu)化文檔。

      圖8是根據(jù)另一示例性實施例示出的一種用于非結(jié)構(gòu)化文檔搜索的裝置的框圖。如圖8所示,用于非結(jié)構(gòu)化文檔搜索的裝置80包括:初始化模塊802、第二接收模塊804、索引模塊806。

      初始化模塊802用于初始化服務(wù)器。

      第二接收模塊804用于獲取非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      索引模塊806用于儲存和/或索引非結(jié)構(gòu)化文檔的元數(shù)據(jù)和內(nèi)容。

      根據(jù)本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的裝置,能夠?qū)⑵髽I(yè)所有非結(jié)構(gòu)化文檔數(shù)據(jù)進行存儲、管理并使用統(tǒng)一的搜索服務(wù)對海量非結(jié)構(gòu)文檔數(shù)據(jù)進行近實時搜索。

      本領(lǐng)域技術(shù)人員可以理解上述各模塊可以按照實施例的描述分布于裝置中,也可以進行相應(yīng)變化唯一不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。

      通過以上的實施例的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實施例可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本發(fā)明實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計算設(shè)備(可以是個人計算機、服務(wù)器、移動終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本發(fā)明實施例的方法。

      通過以上的詳細描述,本領(lǐng)域的技術(shù)人員易于理解,根據(jù)本發(fā)明實施例的用于非結(jié)構(gòu)化文檔搜索的方法及裝置具有以下優(yōu)點中的一個或多個。

      根據(jù)一些實施例,本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過在解析非結(jié)構(gòu)化時,進行不同配置的方式,能夠解除mapping-attachment插件本身對elasticsearch所支持的非結(jié)構(gòu)化文檔可搜索化的限制。

      根據(jù)另一些實施例,本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過將非結(jié)構(gòu)化文檔在客戶端進行解析的方式,具有更好的靈活性、能夠有效提高批量索引的速度。

      根據(jù)另一些實施例,本發(fā)明的用于非結(jié)構(gòu)化文檔搜索的方法,通過給出基于elasticsearch、cassandra和netty建立的文件存儲和搜索方案,能夠?qū)⑵髽I(yè)所有非結(jié)構(gòu)化文檔數(shù)據(jù)進行存儲、管理并使用統(tǒng)一的搜索服務(wù)對海量非結(jié)構(gòu)文檔數(shù)據(jù)進行近實時搜索。

      以上具體的示出和描述了本發(fā)明的示例性實施例。應(yīng)可理解的是,本發(fā)明不限于這里描述的詳細結(jié)構(gòu)、設(shè)置方式或?qū)崿F(xiàn)方法;相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效設(shè)置。

      此外,本說明書說明書附圖所示出的結(jié)構(gòu)、比例、大小等,均僅用以配合說明書所公開的內(nèi)容,以供本領(lǐng)域技術(shù)人員了解與閱讀,并非用以限定本公開可實施的限定條件,故不具技術(shù)上的實質(zhì)意義,任何結(jié)構(gòu)的修飾、比例關(guān)系的改變或大小的調(diào)整,在不影響本公開所能產(chǎn)生的技術(shù)效果及所能實現(xiàn)的目的下,均應(yīng)仍落在本公開所公開的技術(shù)內(nèi)容得能涵蓋的范圍內(nèi)。同時,本說明書中所引用的如「上」、「第一」、「第二」及「一」等的用語,也僅為便于敘述的明了,而非用以限定本公開可實施的范圍,其相對關(guān)系的改變或調(diào)整,在無實質(zhì)變更技術(shù)內(nèi)容下,當也視為本發(fā)明可實施的范疇。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1