[發明專利]基于Lucene的倒排索引系統構建、數據處理方法及裝置有效
| 申請號: | 201210380761.5 | 申請日: | 2012-10-09 |
| 公開(公告)號: | CN103714096B | 公開(公告)日: | 2018-02-13 |
| 發明(設計)人: | 秦劍 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 黃熊,王寶筠 |
| 地址: | 英屬開曼群島大開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 lucene 索引 系統 構建 數據處理 方法 裝置 | ||
技術領域
本申請涉及信息檢索技術領域,特別涉及一種基于Lucene的倒排索引系統構建方法、基于Lucene的倒排索引系統的數據處理方法及其相應裝置。
背景技術
Lucene作為用Java程序編寫的高性能的全文檢索工具,提供了完整的查詢引擎,它可方便地嵌入各種實際應用中實現全文搜索/索引功能。Lucene在實現檢索過程中采用倒排索引(Inverted index)方式進行。倒排索引與通過數據記錄的標識檢索該記錄屬性的傳統索引方式不同,它是通過屬性查找數據記錄。寫有倒排索引的文件通常稱為倒排文件(Iverted file)。Lucene通過包含倒排文件在內的倒排索引系統進行檢索的方式極大提高了數據檢索效率。
然而,Lucene構建倒排索引系統的現有方式卻效率低下,尤其在面對海量數據記錄時,其時間消耗較大。Lucene目前構建倒排索引系統的方式是:先將數據記錄的倒排索引寫入倒排文件,在倒排索引寫完后,返回該倒排文件的文件頭填入該倒排文件大小等描述信息,由于Lucene的一個重要特點是倒排文件必須“順序寫入”,因此,為形成包含描述信息的倒排文件,必須先將倒排文件本身存儲在本地存儲設備上,經過文件頭填寫操作后,再將多個倒排文件依次上傳到Lucene上,完成倒排索引系統的構建。這種方式需要借助外在存儲設備,多次進行磁盤I/O操作,延長了整個倒排索引系統的構建過程,效率較低。此外,基于上述構建倒排索引系統的方法,其數據處理速度也受到影響。
發明內容
為解決上述技術問題,本申請實施例提供一種基于Lucene的倒排索引系統構建方法、基于Lucene的倒排索引系統的數據處理方法以及相應的裝置,以提高Lucene構建倒排索引系統的效率和數據處理速度。
本申請實施例提供的基于Lucene的倒排索引系統構建方法包括:
將海量數據記錄的倒排索引寫入至少一個倒排文件;
在倒排文件寫入完畢后,將寫入完畢的倒排文件的描述信息寫入與該倒排文件關聯的描述文件;
基于倒排文件及倒排文件的描述文件構建倒排索引系統。
優選地,所述將海量數據記錄的倒排索引寫入至少一個倒排索引文件具體包括:
將海量數據記錄劃分為多個數據分片,將每個數據分片內的數據記錄的倒排索引寫入至少一個倒排文件;
所述基于倒排文件及倒排文件的描述文件構建倒排索引系統具體包括:
選取數據記錄的一個屬性作為函數自變量,按照預設函數映射關系求取函數值;
將具有相同函數值的多個數據記錄的倒排文件及倒排文件的描述文件合并為一個索引片分區;
基于多個索引片分區構建倒排索引系統。
本申請實施例還提供了一種基于Lucene的倒排索引系統的數據處理方法,該方法包括:
接收用戶輸入的檢索關鍵詞和數據處理請求;
利用Lucene的倒排索引系統根據檢索關鍵詞檢索海量數據記錄,所述Lucene的倒排索引系統按照上述基于Lucene的倒排索引系統構建方法構建;
根據檢索關鍵詞在倒排索引系統中的值對檢索結果按照所述數據處理請求進行相應的數據處理。
優選地,當數據處理請求為統計檢索結果時,根據檢索關鍵詞在倒排索引系統中的值對檢索結果進行數據處理具體包括:
根據檢索關鍵詞在倒排索引系統中的值對檢索結果進行排序,根據排序后的檢索結果進行數據統計。
優選地,當數據處理請求為交叉分組檢索結果時,根據檢索關鍵詞在倒排索引系統中的值對檢索結果進行數據處理具體包括:
根據檢索關鍵詞在倒排索引系統中的值進行交叉組合,形成交叉分組檢索約束條件,根據該檢索約束條件對檢索結果進行交叉分組。
優選地,當數據處理請求為去重求和檢索結果時,根據檢索關鍵詞在倒排索引系統中的值對檢索結果進行數據處理具體包括:
根據檢索關鍵詞在倒排索引系統中的值查找到該值對應的記錄號,根據該記錄號取得待處理的數據對象,對取得的待處理數據對象進行求和操作。
本申請還提供了一種基于Lucene的倒排索引系統構建裝置。該裝置包括:第一寫入單元、第二寫入單元和構建單元,其中:
所述第一寫入單元,用于將海量數據記錄的倒排索引寫入至少一個倒排文件;
所述第二寫入單元,用于在倒排文件寫入完畢后,將寫入完畢的倒排文件的描述信息寫入與該倒排文件關聯的描述文件;
所述構建單元,用于基于至少一個倒排文件及倒排文件的描述文件構建倒排索引系統。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210380761.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于研究樁-土相互作用的試驗裝置
- 下一篇:一種防水構件





