国产精品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>

      一種針對(duì)海量數(shù)據(jù)全文檢索場(chǎng)景的實(shí)現(xiàn)方法與流程

      文檔序號(hào):11155210閱讀:來源:國知局

      技術(shù)特征:

      1.一種針對(duì)海量數(shù)據(jù)全文檢索場(chǎng)景的實(shí)現(xiàn)方法,在檢索引擎對(duì)輸入的SQL語句分析后形成執(zhí)行計(jì)劃樹,將執(zhí)行計(jì)劃樹切割成執(zhí)行單元fragment,通過協(xié)調(diào)器分發(fā)到節(jié)點(diǎn)上執(zhí)行并返回結(jié)果;其特征在于,將Lucene引入檢索引擎,對(duì)集群中已經(jīng)存在的數(shù)據(jù)文件建立Lucene索引文件,一個(gè)數(shù)據(jù)文件對(duì)應(yīng)一個(gè)或多個(gè)Lucene索引文件,一個(gè)Lucene索引文件存儲(chǔ)在一個(gè)節(jié)點(diǎn)上,在每個(gè)存儲(chǔ)Lucene索引文件的節(jié)點(diǎn)上,設(shè)置有一個(gè)守護(hù)進(jìn)程對(duì)該節(jié)點(diǎn)的Lucene索引文件進(jìn)行維護(hù),保持Lucene索引文件與RCFile文件所管理的數(shù)據(jù)文件的一致性;每個(gè)節(jié)點(diǎn)設(shè)置有一個(gè)Lucene的socket接口;所述的全文檢索場(chǎng)景的實(shí)現(xiàn)方法包含如下方面:

      第一方面,優(yōu)化協(xié)調(diào)器對(duì)fragment的調(diào)度機(jī)制;

      在一個(gè)fragment中,有一個(gè)結(jié)構(gòu)體range,range中記載有Lucene索引文件地址列表;

      在檢索時(shí),遍歷所有fragment中的range,對(duì)每個(gè)range,執(zhí)行下面過程:

      獲取該range對(duì)應(yīng)的Lucene索引文件地址列表;對(duì)列表中的每個(gè)Lucene索引文件地址,執(zhí)行過程(1)和(2);(1)判斷該地址是否位于所執(zhí)行的fragment的本地節(jié)點(diǎn)上,若是,則設(shè)置該索引文件所在節(jié)點(diǎn)的預(yù)加值A(chǔ)為1,若不是,設(shè)置該索引文件所在節(jié)點(diǎn)的預(yù)加值A(chǔ)為設(shè)定的固定最大值;(2)將該索引文件所在節(jié)點(diǎn)的當(dāng)前計(jì)數(shù)B,加上預(yù)加值A(chǔ),得到新的計(jì)數(shù)值C;其中,每個(gè)節(jié)點(diǎn)的計(jì)數(shù)值初始設(shè)置為0;在得到該range的每個(gè)Lucene索引文件所在節(jié)點(diǎn)的計(jì)數(shù)C后,選擇其中計(jì)數(shù)C最小的節(jié)點(diǎn),作為該range的執(zhí)行節(jié)點(diǎn),然后更新該節(jié)點(diǎn)的當(dāng)前計(jì)數(shù)B為對(duì)應(yīng)的計(jì)數(shù)值C,標(biāo)記該range將最終在該節(jié)點(diǎn)上執(zhí)行;

      第二方面,優(yōu)化全文讀取引擎機(jī)制;

      節(jié)點(diǎn)執(zhí)行一個(gè)fragment時(shí),若對(duì)應(yīng)的Lucene索引文件在本地節(jié)點(diǎn),直接通過JNI調(diào)用Lucene接口,獲取檢索結(jié)果集;若對(duì)應(yīng)的Lucene索引文件在遠(yuǎn)程節(jié)點(diǎn),調(diào)用socket接口通過遠(yuǎn)程tcp訪問遠(yuǎn)程節(jié)點(diǎn)的Lucene接口,獲取檢索結(jié)果集;socket接口還用于RCFile與Lucene中元數(shù)據(jù)變化時(shí)的更新;JNI表示Java本地接口,tcp表示傳輸控制協(xié)議;

      若調(diào)用訪問Lucene接口時(shí),對(duì)應(yīng)節(jié)點(diǎn)上維護(hù)Lucene索引文件的守護(hù)進(jìn)程已經(jīng)掛掉,或遠(yuǎn)程tcp連接無法建立時(shí),則執(zhí)行節(jié)點(diǎn)直接選擇讀取RCFile文件;若讀取Lucene索引文件出錯(cuò)時(shí),執(zhí)行節(jié)點(diǎn)重新調(diào)用該Lucene索引文件對(duì)應(yīng)的RCFile文件,重新進(jìn)行檢索。

      2.根據(jù)權(quán)利要求1所述的一種針對(duì)海量數(shù)據(jù)全文檢索場(chǎng)景的實(shí)現(xiàn)方法,其特征在于,所述的針對(duì)海量數(shù)據(jù)全文檢索場(chǎng)景的實(shí)現(xiàn)方法,還包括如下方面:

      第三方面,實(shí)現(xiàn)全文檢索的相關(guān)度排序;相關(guān)度的排序通過設(shè)置權(quán)重實(shí)現(xiàn);

      在檢索某個(gè)字段時(shí),給該字段設(shè)置權(quán)重,在Lucene檢索時(shí),將權(quán)重加入字段中,檢索返回根據(jù)權(quán)值排序的結(jié)果數(shù)據(jù),將各Lucene檢索的結(jié)果數(shù)據(jù)匯總并根據(jù)權(quán)重再進(jìn)行一次排序,最后將符合以相關(guān)度排序的數(shù)據(jù)結(jié)果集返回給用戶;

      在檢索時(shí),若是分組數(shù)據(jù),對(duì)分組數(shù)據(jù)的權(quán)重值先進(jìn)行融合計(jì)算,再按照融合后的權(quán)重值,對(duì)分組數(shù)據(jù)進(jìn)行相關(guān)度的排序。

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