• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于抽樣的分布式搜索結果合并翻頁方法及系統技術方案

    技術編號:10246667 閱讀:171 留言:0更新日期:2014-07-23 23:54
    本發明專利技術公開了一種基于抽樣的分布式搜索結果合并翻頁方法及系統,旨在顯著降低分布式搜索結果合并翻頁過程中,存在的網絡帶寬和計算消耗較大的問題,同時本發明專利技術亦可改良后應用于其它分布式查詢系統的結果合并翻頁中。其技術方案為:對索引數據切片,形成索引文件切片,然后分到各個切片搜索服務器(shard-search?server)上,完成了索引文件的初始化工作;搜索結果合并節點(gather)接收外部系統的合并翻頁請求,進入基于抽樣的分布式搜索結果合并翻頁具體步驟。

    【技術實現步驟摘要】
    【專利摘要】本專利技術公開了一種基于抽樣的分布式搜索結果合并翻頁方法及系統,旨在顯著降低分布式搜索結果合并翻頁過程中,存在的網絡帶寬和計算消耗較大的問題,同時本專利技術亦可改良后應用于其它分布式查詢系統的結果合并翻頁中。其技術方案為:對索引數據切片,形成索引文件切片,然后分到各個切片搜索服務器(shard-search?server)上,完成了索引文件的初始化工作;搜索結果合并節點(gather)接收外部系統的合并翻頁請求,進入基于抽樣的分布式搜索結果合并翻頁具體步驟。【專利說明】一種基于抽樣的分布式搜索結果合并翻頁方法及系統
    本專利技術屬于海量數據處理
    ,具體涉及一種針對分布式搜索結果合并翻頁問題的方法及系統。
    技術介紹
    電子商務平臺(B2B、B2C等)的出現極大地方便了人們的生活,當人們越來越多地依賴這些平臺時,也對平臺本身提出了更高的要求:比如,在淘寶、京東等交易平臺上,人們希望能夠更多、更快、更精準地發現自己需要的商品;而對于電商企業而言,要滿足人們的這些要求,在技術層面上通常需要一款高效、精準的海量搜索系統。由于檢索數據龐大且快速增長,傳統的集中式的搜索系統已經越來越不能勝任大型電商平臺的檢索任務。隨著分布式及數據切片技術的發展,市面上出現了基于數據切片的分布式搜索系統,其中以apache開源的solr及Elasticsearch公司的elasticsearch較具代表性。這些分布式的搜索系統都具備較好的可擴展性,能夠將數據分片索引于龐大的機器集群上,這為解決海量數據的檢索問題提供了方案。然而由于切片技術本身的局限性,這些搜索系統也存在著一些問題,搜索結果的合并翻頁就是其中較為突出的一個問題。試想這樣一個需求:用戶需要獲取某次搜索結果中,排序位次是第951名到第1000名的50條記錄。對于這樣一個問題,現有的分布式搜索系統的解決辦法通常有兩個:其一,向每個搜索切片發送檢索請求,并獲取各自檢索結果的前1000名,然后在一個合并節點上,對來自于各個切片的搜索進行合并,最后取出其中位于第951名到第1000名間的50條記錄;其二,忽略排名的嚴格要求,近似地認為各個切片上對等位次的記錄在合并結果中的排名基本相當,如此即可簡單地從各個切片上對等地獲取少量記錄“湊”成目標翻頁。然而,這兩個方案都存在著各自嚴重的問題。對于方案一,目標翻頁的記錄數只有50,而搜索系統卻需要從各個切片上各自獲取1000條記錄,如果切片數量為n,那么一次搜索請求需要傳輸和重排序的記錄數就是nX 1000 ;如此拓展開來,當用戶所需的翻頁很深時,就會帶來巨大的網絡帶寬和計算開銷;而對于方案二,很明顯它犧牲了排名的準確性,這對于類似于B2B的電商平臺來說,由于排名涉及到其會員的重要利益,顯然是不能容忍的。那么,一個高效且精確的、針對分布式搜索結果的合并、排序、翻頁方案就成了當前迫切需要解決的問題。在這個問題上,專利“合并排序分布式數據的方法”(申請號:CN03152258.0)做了相關研究,其提出的方法主要為:切片節點分別完成查詢及排序工作,然后由合并節點逐次向切片節點順序地預取一個小批量的結果集(如:每批次40條記錄);每獲取一個批次的記錄后,合并節點對現有記錄集進行一次排序,并根據排序結果決定向哪些切片請求下一批次的記錄;如此往復,直到合并節點獲取到用戶所需的全部記錄為止。該專利提出的方法在一定程度上解決了數據過度傳輸和合并的問題。然而該專利在使用場景上卻存在著明顯的局限性,首先該專利是針對主從式可堆棧網絡裝置的排序性能問題提出的,因此它所解決的是如何高效地獲取前若干個記錄的問題;而本專利技術所提出的問題是:如何高效地獲取指定翻頁,即獲取排序結果中一個特定片段的問題,此問題實際上具有更強的“隨機性”。
    技術實現思路
    為解決上述問題,本專利技術設計了一種基于抽樣的分布式搜索結果合并翻頁方法及系統,旨在顯著降低分布式搜索結果合并翻頁過程中,存在的網絡帶寬和計算消耗較大的問題,同時本專利技術亦可改良后應用于其它分布式查詢系統的結果合并翻頁中。本專利提供的具體技術方案如下:一種基于抽樣的分布式搜索結果排序翻頁方法,包括:對索引數據切片(通常基于一致性hash值),形成索引文件切片,然后分到各個切片搜索服務器(下文稱shard-search server)上,完成了索引文件的初始化工作。搜索結果合并節點(下文稱gather)接收外部系統的合并翻頁請求,進入步驟I。步驟1:gather分別向shard-search server發送查詢及針對搜索結果的抽樣請求,并等待響應結果。步驟2:shard-search server依照查詢條件檢索,并對命中結果排序,最后從排序結果中獲取能夠涵蓋當前翻頁的前若干條記錄,若這些記錄數量并不巨大,可將這些記錄數據存放于臨時緩存中(以備步驟6的記錄召回);針對這些記錄,shard-search server以固定步長(如:50)做整數倍抽樣,并將抽樣記錄返回。步驟3:gather在獲取到各shard-search server的抽樣結果后,將它們按照排序域值做統一排序。步驟4:基于步驟3的排序結果,gather進一步計算出所需目標翻頁的記錄在各個切片上的大致開始位置(以下稱startpoint),同時將肯定不屬于目標翻頁的記錄排除在外。步驟5:基于步驟4的結果,gather向各個切片發起召回記錄的請求,這些請求只召回從startpoint向下的少量記錄,其數量是抽樣步長與翻頁尺寸的和,其中翻頁尺寸指的是一頁包含搜索記錄的數量。步驟6:各shard-search server接收到記錄召回請求后,優先從步驟2中所述的記錄緩存中獲取所需記錄,并將其所對應的緩存清空;如緩存中不存在相應記錄,則可進行二次查找,最后返回目標記錄。步驟7:gather在獲取到各shard-search server的召回結果后,將其再次按照排序域值排序,再結合各個切片對應的startpoint從排序結果中截取出目標翻頁記錄,至此整個過程完畢。一種基于抽樣的分布式搜索結果合并翻頁系統,包括:gather (搜索結果合并節點)和shard-search server (搜索切片服務器)兩個大部分,其中gather進一步細化為TopSamplesFetcher (記錄抽樣抓取器)、TopSamplesMerger (記錄抽樣合并器)>ApproximateStartPointsCalculator (翻頁近似起點計算器)、PageFetcher (指定翻頁抓取器)、PageMerger (指定翻頁合并截取器)幾個主要部件;而shard-search server則主要包括TopSampler (記錄抽樣器)、TopSearcher (記錄查詢器)、TopResultTmpCache (記錄結果臨時緩存器)、PageGetter (翻頁獲取器)幾個主要部件。整體上,gather與shard-search server通過網絡進行通信(本專利技術省略說明),它們按照不同的請求各自調用內部部件進行處理,并交換計算結果,最終由gather完成最后翻頁結果的計算并返回。gather,是整個系統的樞紐,用于接收外部系統的排序翻頁請求,并按請本文檔來自技高網
    ...

    【技術保護點】
    一種基于抽樣的分布式搜索結果排序翻頁方法,其特征在于,包括:對索引數據切片,形成索引文件切片,然后分到各個切片搜索服務器(shard?search?server)上,完成了索引文件的初始化工作;搜索結果合并節點(gather)接收外部系統的合并翻頁請求,進入步驟1;步驟1:搜索結果合并節點(gather)分別向各個切片搜索服務器發送查詢及針對搜索結果的抽樣請求,并等待響應結果;步驟2:切片搜索服務器(shard?search?server)依照查詢條件檢索,并對命中結果排序,最后從排序結果中獲取能夠涵蓋當前翻頁的前若干條記錄,針對這些記錄,切片搜索服務器以固定步長做整數倍抽樣,并將抽樣記錄返回;步驟3:搜索結果合并節點(gather)在獲取到各個切片搜索服務器(shard?search?server)的抽樣結果后,將它們按照排序域值做統一排序;步驟4:基于步驟3的排序結果,搜索結果合并節點(gather)進一步計算出所需目標翻頁的記錄在各個切片上的大致開始位置(startpoint),同時將肯定不屬于目標翻頁的記錄排除在外;步驟5:基于步驟4的結果,搜索結果合并節點(gather)向各個切片發起召回記錄的請求,這些請求只召回從目標翻頁記錄在各個切片上大致開始位置(startpoint)向下的少量記錄;步驟6:各個切片搜索服務器(shard?search?server)接收到記錄召回請求,查找后返回目標記錄;步驟7:搜索結果合并節點(gather)在獲取到各個切片搜索服務器(shard?search?server)的召回結果后,將其再次按照排序域值排序,再結合各個切片對應的目標翻頁記錄在各個切片上大致開始位置(startpoint)從排序結果中截取出目標翻頁記錄,至此整個過程完畢。...

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:梁峰
    申請(專利權)人:焦點科技股份有限公司
    類型:發明
    國別省市:江蘇;32

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 中文字幕无码久久人妻| 国产成A人亚洲精V品无码性色 | 波多野结衣AV无码| 国产在线精品无码二区| 激情无码人妻又粗又大中国人| 无码国产激情在线观看| 无码精品一区二区三区免费视频| 日韩av无码国产精品| 无码国内精品久久人妻| 惠民福利中文字幕人妻无码乱精品 | 精品无码国产一区二区三区51安| 人妻无码aⅴ不卡中文字幕| 精品无码久久久久久尤物| 中文字幕乱妇无码AV在线 | 无码人妻精品一区二区三区99不卡| 亚洲av永久无码精品秋霞电影影院 | 无码夫の前で人妻を犯す中字| 粉嫩高中生无码视频在线观看| 亚洲heyzo专区无码综合| 亚洲AV成人无码天堂| 久久久久亚洲精品无码系列| 免费无码作爱视频| 中文字幕精品无码亚洲字| V一区无码内射国产| 内射无码午夜多人| 国产裸模视频免费区无码| 午夜无码一区二区三区在线观看| 99精品人妻无码专区在线视频区| 久久老子午夜精品无码| 亚洲AV日韩AV高潮无码专区| 国产a级理论片无码老男人| 国产成人精品无码免费看| 国产成人AV片无码免费| 无码人妻丰满熟妇区五十路百度| 最新中文字幕AV无码不卡| 亚洲gv猛男gv无码男同短文| 亚洲第一极品精品无码久久| 无码午夜成人1000部免费视频 | 亚洲中文字幕无码mv| 亚洲国产精品无码第一区二区三区| 老子午夜精品无码|