[發明專利]一種檢索結果三段式有序收集方法及系統有效
| 申請號: | 200910243807.7 | 申請日: | 2009-12-21 |
| 公開(公告)號: | CN102103615A | 公開(公告)日: | 2011-06-22 |
| 發明(設計)人: | 童征宇;徐劍波;趙東巖 | 申請(專利權)人: | 北大方正集團有限公司;北京方正阿帕比技術有限公司;北京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京天悅專利代理事務所(普通合伙) 11311 | 代理人: | 田明;任曉航 |
| 地址: | 100871 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 檢索 結果 三段式 有序 收集 方法 系統 | ||
技術領域
本發明屬于檢索技術領域,具體涉及一種檢索結果三段式有序收集方法及系統,特別適合于對全文檢索結果的有序收集。
背景技術
全文檢索系統在根據檢索請求進行檢索后,還需要將檢索結果進行排序,然后返回用戶指定范圍內的有序結果。排序依據通常是檢索結果與檢索請求的相關度,也可以是其他依據,例如檢索結果的重要程度、檢索結果某個字段值的順序等。對檢索結果進行排序的目的,使得最能滿足用戶需要的結果出現在結果序列的最前面。
全文檢索系統前臺一般對檢索結果分頁展示,一次只展示部分結果,通過翻頁來不斷展示后續結果。在翻頁時,或通過再次檢索、或通過讀取上次檢索時生成的緩存來獲取本次展示的內容。因此全文檢索系統返回的檢索結果一般為一頁或多頁的數據量,隨著翻頁的進行,獲取的檢索結果范圍不斷移動。
全文檢索系統的檢索結果的后續處理帶了性能問題:隨著全文檢索系統處理的數據量的增加,在命中大量結果的情況下,檢索結果的存儲和排序會占用大量的存儲空間和處理時間,導致檢索性能不佳,無法快速高并發地處理檢索結果。
目前,網絡上的搜索引擎采用的解決方法是:只支持返回前若干項最相關的結果,超過限定數量的都不返回,從而回避了這個問題。如百度、谷歌都只提供不到800條檢索結果的瀏覽,翻頁超過這個數量后只給出提示,不再繼續展示后續檢索結果。但在企業級全文檢索系統的應用中,要求能夠返回檢索命中的全部結果,當用戶不斷翻頁時,能夠瀏覽到全部的檢索結果。
用戶在瀏覽檢索結果時,一般都只瀏覽前幾頁,但有時也會不斷翻頁,或查看最后幾頁。因此需要根據用戶的需求,返回部分檢索結果。這些檢索結果可能是排序最靠前的,也可能是最靠后的,或位于中間的結果。
現有技術中,為了減少檢索結果存儲和排序的壓力,針對用戶只瀏覽前幾頁的情況,使用Top-K方法。所述Top-K方法是指只收集前K項最好的檢索結果,拋棄其余結果。全文檢索系統預設一個需要收集的數量K,從這前K項結果中返回用戶要求的部分。如Ahmed?Metwally等在“EfficientComputation?of?Frequent?and?Top-k?Elements?in?Data?Streams”(In?Proceedingsof?the?10th?ICDT?International?Conference?on?Database?Theory.398-412.)中所述:收集前若干項結果并排序,當新的結果被添加到集合中時替換最小的項,并最終從集合中返回Top-K項值。通過這種方式節約了處理大量結果時所需要的內存空間,從而提高效率。但沒有提出用戶請求的檢索結果超出前K項時的應對方法。因此,該方法只適用于只需要返回部分最好檢索結果的情況。
當用戶請求的檢索結果超出前K項時,現有技術中一般有以下兩種收集方式:
1.收集全部結果并進行部分排序,返回用戶所要求的部分。
無序收集全部命中的結果,根據用戶要求返回的結果范圍進行部分排序,得到結果區間,并對本區間內的結果進行完整排序,從而獲得所需要結果并返回給用戶。這種方式存在的缺陷是:需要大量的存儲空間,而且大量結果的排序性能較低。
2.動態擴展K值到包含用戶要求返回的結果的K′,收集K′項最好的檢索結果。
著名的開源全文檢索系統Lucene(http://lucene.apache.org/)中使用了這種方式。如Top-K方法,只收集前K′項最好的檢索結果,拋棄其余結果,最終獲得所需要結果并返回給用戶。這種方式在K′接近K時具有不錯的性能,但隨著K′值的擴大,其性能也不斷地下降。在用戶要求的檢索結果范圍處于全部檢索結果的最后時,就變成收集全部檢索結果,此時的存儲空間與第1種方式一樣,而且由于全部排序導致性能更低。
以上兩種現有方式都需要保存大量的檢索結果,從而占用了大量的內存空間,而且當檢索結果較多時排序性能低,使得全文檢索系統的性能下降。
發明內容
針對現有技術中存在的缺陷,本發明的主要目的是提供一種能夠根據用戶的需要返回排序最靠前的,或最靠后的,或中間的若干項檢索結果的檢索結果三段式有序收集方法及系統。在此基礎上,本發明還能夠提高檢索結果的排序性能,降低檢索結果的存儲空間,減少內存空間的占用,從整體上提高檢索系統的性能。
為了實現上述目的,本發明采用的技術方案如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北大方正集團有限公司;北京方正阿帕比技術有限公司;北京大學,未經北大方正集團有限公司;北京方正阿帕比技術有限公司;北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910243807.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:光伏并網逆變器及控制方法
- 下一篇:用于端序轉換的方法和設備





