CN107273529A - 基于哈希函数的高效层级索引构建及检索方法 - Google Patents
基于哈希函数的高效层级索引构建及检索方法 Download PDFInfo
- Publication number
- CN107273529A CN107273529A CN201710506322.7A CN201710506322A CN107273529A CN 107273529 A CN107273529 A CN 107273529A CN 201710506322 A CN201710506322 A CN 201710506322A CN 107273529 A CN107273529 A CN 107273529A
- Authority
- CN
- China
- Prior art keywords
- index
- document
- keyword
- vector
- paragraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于哈希函数的高效层级索引构建及检索方法,包括:对待归档文档di中的每个关键词进行哈希操作,得到各关键词的n个正整数集合;每个关键词的n个正整数集合构成最终表示待归档文档di的n维向量;将所述n维向量放入文档集合索引矩阵T中,集合索引矩阵中第i行表示文档di的索引信息,第j列表示文档中存在哈希处理结果为j的关键词。本发明采用的树形结构数据这类存储方式非常便于面向检索的索引结构,且采用哈希函数对关键词的处理具有较高的安全性,不仅能够保证索引效率受到的影响较少,同时也能够提高索引的安全性。
Description
技术领域
本发明涉及数据检索,具体地指一种基于哈希函数的高效层级索引构建及检索方法。
背景技术
在信息技术日益发达的今天,检索技术成为了信息技术中极其重要的一个领域,对于信息系统的用户而言,通过检索技术快速定位和获取目标数据已经成为信息系统日常使用中必不可少的环节。日常检索技术在为人们带来极大方便的同时,也带来了许多安全性威胁。在一些涉密单位的相关部门中,由于日常工作涉及的数据量非常巨大,必须使用检索技术来快速获取数据,但是由于数据涉密,检索过程的安全性成为一个备受关注的问题。在信息安全形势日益严峻的今天,如何对涉密数据进行安全检索将是数据存储问题中一个很重要的环节,只有实现安全高效的数据检索,才能保证海量数据的使用价值,使海量数据的存储具有意义。
但是传统的全文检索结构往往是基于明文的全文检索,即对文档数据构建索引时仅仅直接按照明文关键词构建明文索引,在索引结构中,系统不仅会保留对文档数据进行分词得到的关键词集合,同时还会保存与这些关键词相关联的位置信息,这一特点导致一旦系统的索引存储区域遭受不明攻击者的攻击,攻击者可以通过系统中存储的索引数据通过统计方法还原成原始文档数据,传统索引结构存在的这一严重的安全问题会导致存储数据的用户蒙受巨大的损失。另一方面,在传统方法中,同样存在着一些针对密文数据的全文检索,对于密文数据的全文检索由于将文档数据和全文关键词进行了加密操作,因此其安全性相比于传统的明文数据来说安全性相对较高,一种传统的密文全文检索解决方式是对目前构建的明文全文索引进行加密处理,这种处理一般被分为两个层次,即索引级加密处理和索引词级加密处理。这两种处理在检索过程中仍需要对密文进行解密,本质上仍然是明文全文检索,同样存在着很大的安全隐患,这就需要一套更加安全合理的密文全文检索系统来提供安全高效的密文全文检索服务。
正是基于以上需求,本发明提出一种基于哈希函数的高效层级全文检索方法。
树形结构数据这类存储方式非常便于面向检索的索引结构,具有数据组织有序、检索效率高等优势。而哈希函数具有单向性的特点,即由哈希函数通过输入得出输出结果比较简单,而从哈希函数输出结果逆推函数输入却有着很大的难度,需要投入非常大的计算成本,因此,哈希函数具有较高的安全性本方法以哈希函数为基础,采用树形结构为主要数据结构构建全文检索索引,不仅能够保证索引效率受到的影响较少,同时也能够提高索引的安全性。
发明内容
本发明目的在于克服上述现有技术的不足而提供一种基于哈希函数的高效层级索引构建及其检索方法,该方法能够实现安全高效的密文全文检索。
实现本发明目的采用的技术方案是一种基于哈希函数的高效层级索引构建方法,该方法包括:
将待归档文档di构建成n维向量Ti;
对待归档文档di中的每个关键词进行哈希操作,得到代表各个关键词的k个正整数的集合;
代表关键词集合的k个正整数集合构成最终表示待归档文档di的n维向量Tik;
将所述n维向量Tik放入文档集合索引矩阵T中,集合索引矩阵中第i行表示文档di的索引信息,第j列表示文档中存在哈希处理结果为j的关键词。
此外,本发明还提供一种基于上述高效层级索引构建的检索方法,该方法包括:
将查询请求中的查询关键词转换为多个子关键词的析取范式或合取范式;
将所述析取范式或合取范式构建一个与文档集合索引矩阵相同维度的n维向量Tq,利用与索引构建时相同的哈希算法对子关键词集合进行哈希操作,将子关键词转换为正整数,并插入到集合Z(z1,z2,…,zn)中,将Tq的z1、z2、……、zn位分别置为1,表示当前查询请求含有某些特定关键词,将Tq与文档索引矩阵进行矩阵T乘法操作:
T’=T·Tq
在T’中选择所有不为0的行,记为t1,t2,…,tn行,表示含有当前关键词的文档的索引向量,根据这些向量确认所有含有当前查询关键词的文档Dt{dt1,dt2,……,dtn},根据指针查找到目标文档dt的层次索引中,然后,系统会根据关键词的哈希结果Zq继续逐段查找文档的索引中各个段落的索引向量,判断向量中dt1、dt2、……、dtn位是否为1,命中后再查找命中段落的逐句索引向量,同样判断向量中dt1、dt2、……、dtn位是否为1,最终命中含有查询关键词的目标语句,完成查询流程。
本发明采用的树形结构数据非常适合用于检索数据的索引结构,由于其本身的结构特点,检索时系统可以按照检索要求查找,精确定位,具有数据组织有序、检索效率高等优势。而哈希函数具有单向性的特点,即由哈希函数通过输入得出输出结果比较简单,而从哈希函数输出结果逆推函数输入却有着很大的难度,需要投入非常大的计算成本,因此,哈希函数具有较高的安全性本方法以哈希函数为基础,采用树形结构为主要数据结构构建全文检索索引,不仅能够保证索引效率受到的影响较少,同时也能够提高索引的安全性。
附图说明
图1为本发明基于哈希函数的高效层级索引构建及其检索放方法的流程图。
图2为通过本发明基于哈希函数的高效层级索引构建方法构建的全文索引图。
具体实施方式
下面结合附图,对本发明的技术方案作进一步具体的说明。
本发明基于哈希函数的高效层级索引构建及其检索方法的流程如图1所示。
当待归档文档di存储到本系统后,检索系统首先会对其进行分词操作,得到关键词的集合Wi(w1,w2,…,wk),同时,针对每个分词记录,为关键词记录该关键词的位置信息,位置信息按照文档结构进行划分,对于关键词wk,其位置信息为段落、句子、句中偏移量组成的三元组,表示为lk(pk,sk,ok),这样,待归档文档di即可表示为Di(Wk,Lk),其中Lk为位置信息lk的集合,获取此集合后,系统会根据其关键词信息及位置信息进行索引构建操作。
在索引构建算法中,对于当前文档di,构建一个n维向量Ti,将各个维度初始化为0,得到Ti0。
对于关键词wk,系统采用哈希算法对关键词进行哈希操作,将关键词wk转换为正整数zk,将Ti中的zi1,zi2,…,zin位分别置1,表示文档中含有关键词中的各个字符,得到新的n维向量Ti1,然后,针对集合Wi中的每个关键词进行相同的处理(即对关键词进行哈希操作,然后根据关键词的哈希结果处理表示当前文档的n维向量),得到最终表示当前文档的n维向量Tik,将Tik放入文档集合索引矩阵T中,形成最终的文档索引矩阵即将n维向量与原索引矩阵合并,新的n维向量直接加入到最下面一行,此时,最终的文档集合索引矩阵中第i行表示文档di的索引信息,第j列表示文档中存在哈希处理结果为j的关键词。
上述文档集合索引的构建过程如下所示:
本发明在索引构建阶段,当系统需要对待归档数据进行索引构建,系统首先对待归档数据进行分词操作,完成分词操作之后,对当前文档中得到的分词结果进行哈希函数处理,完成处理之后,根据哈希函数的输出结果对索引向量进行处理,具体流程可通过以下算法实现:
完成文档集合索引构建之后,根据分词结果中记录的分词结果,对待归档文档di进行分层处理,对于文章中每一段落、每一句子构建一个n维向量,针对各段落的分词结果进行哈希函数处理,完成处理之后,根据哈希函数的输出结果对索引向量进行处理,具体流程可通过以下算法实现:
将处理之后的段落索引向量和语句向量加入到索引层次结构中,通过指针链接。
上述操作得到段落索引向量和语句向量的过程与得到当前文档的n维向量Tik的过程相同。
通过上述方法构建的全文索引图如图2所示,在图2所示的结构中,展示了本发明所采用的索引结构的层次性,即系统在进行查询时,在根据索引矩阵定位到文章的索引结构之后,系统可以根据附图2的索引结构逐层查找,首先确定关键词的段落位置,然后确定其语句位置,之后确定其精确位置。详细的检索过程如下:
通过上述方法完成待归档文档di的索引构建后,当接收到查询请求时,首先会对该查询请求进行一次分词操作,将查询关键词转换为多个子关键词的析取范式或合取范式,然后,系统会构建一个与文档索引矩阵相同维度的n维向量Tq,各维度初始为0,再利用与索引构建时相同的哈希算法对子关键词集合进行哈希操作,将子关键词转换为正整数,并插入到集合Z(z1,z2,…,zk)中,将Tq的z1、z2、……、zk位分别置为1,表示当前查询请求含有某些特定关键词,将Tq与文档索引矩阵T进行矩阵乘法操作:
T’=T·Tq
在T’中选择所有不为0的行,记为t1,t2,…,tr行,表示含有当前关键词的文档的索引向量,根据这些向量确认所有含有当前查询关键词的文档Dt{dt1,dt2,……,dtr},根据指针链接到目标文档dt的层次索引中,然后,根据关键词的哈希结果Zq继续逐段查找文档的索引中各个段落的索引向量,判断各个段落索引向量中dt1、dt2、……、dtr位是否为1,命中后再查找命中段落的逐句索引向量,同样判断向量中dt1、dt2、……、dtr位是否为1,最终命中含有查询关键词的目标语句,完成查询流程。具体流程通过以下算法实现:
读取当前的查询请求Q,将其解析为多个子关键词集合Wq{wq1,wq2,…,wqr}
对关键词集合中的关键词进行哈希操作:Zq=Hash(Wq)
初始化n维向量Tq,将该向量的各个维度初始化为0
基于哈希结构Zq对Tq进行处理,得到包含关键词信息的n维向量Tq’
将Tq’与文档索引矩阵Tij进行矩阵乘法处理,选择出所有含有当前查询关键词的文档Dt{dt1,dt2,……,dtr}
For i=1……tr
根据Zq查找各个段落的索引向量中dt1、dt2、……、dtr位是否为1
根据指针找到命中段落的逐句索引向量
根据Zq查找命中段落的逐句索引向量中dt1、dt2、……、dtr位是否为1
将查找到的语句加入结果集合R中
返回结果集合R。
Claims (4)
1.一种基于哈希函数的高效层级索引构建方法,其特征在于,包括:
将待归档文档di构建成n维向量Ti;
对待归档文档di中的每个关键词进行哈希操作,得到代表各个关键词的k个正整数的集合;
代表关键词集合的k个正整数集合构成最终表示待归档文档di的n维向量Tik;
将所述n维向量Tik放入文档集合索引矩阵T中,集合索引矩阵中第i行表示文档di的索引信息,第j列表示文档中存在哈希处理结果为j的关键词。
2.根据权利要求1所述基于哈希函数的高效层级索引构建方法,其特征在于:
将待归档文档di进行分词操作,得到待归档文档di的关键词集合Wi(w1,w2,…,wk);
针对每个分词记录,为关键词记录该关键词的位置信息,位置信息按照文档结构进行划分,对于关键词wk,其位置信息为段落、句子、句中偏移量组成的三元组,表示为lk(pk,sk,ok),待归档文档di即可表示为Di(Wk,Lk),其中Lk为位置信息lk的集合,获取此集合后,根据关键词信息及位置信息进行索引构建操作。
3.根据权利要求1所述基于哈希函数的高效层级索引构建方法,其特征在于:
根据分词结果中记录的分词结果,对待归档文档di进行分层处理,对于文章中每一段落、每一句子构建一个n维向量,针对各段落的分词结果进行哈希函数处理,完成处理之后,根据哈希函数的输出结果对段落索引向量和语句向量进行处理,将处理之后的段落索引向量和语句向量加入到索引层次结构中,通过指针链接。
4.一种基于权利要求1所述高效层级索引构建检索的检索方法,其特征在于,包括:
将查询请求中的查询关键词转换为多个子关键词的析取范式或合取范式;
将所述析取范式或合取范式构建一个与文档集合索引矩阵相同维度的n维向量Tq,利用与索引构建时相同的哈希算法对子关键词集合进行哈希操作,将子关键词转换为正整数,并插入到集合Z(z1,z2,…,zr)中,将Tq的z1、z2、……、zr位分别置为1,表示当前查询请求含有某些特定关键词,将Tq与文档索引矩阵T进行矩阵乘法操作:
T’=T·Tq
在T’中选择所有不为0的行,记为t1,t2,…,tr行,表示含有当前关键词的文档的索引向量,根据这些向量确认所有含有当前查询关键词的文档Dt{dt1,dt2,……,dtr},根据指针查找到目标文档dt的层次索引中,然后,根据关键词的哈希结果Zq继续逐段查找文档的索引中各个段落的索引向量,判断向量中dt1、dt2、……、dtr位是否为1,命中后再查找命中段落的逐句索引向量,同样判断向量中dt1、dt2、……、dtr位是否为1,最终命中含有查询关键词的目标语句,完成查询流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710506322.7A CN107273529B (zh) | 2017-06-28 | 2017-06-28 | 基于哈希函数的高效层级索引构建及检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710506322.7A CN107273529B (zh) | 2017-06-28 | 2017-06-28 | 基于哈希函数的高效层级索引构建及检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273529A true CN107273529A (zh) | 2017-10-20 |
CN107273529B CN107273529B (zh) | 2020-02-07 |
Family
ID=60071109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710506322.7A Active CN107273529B (zh) | 2017-06-28 | 2017-06-28 | 基于哈希函数的高效层级索引构建及检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273529B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875003A (zh) * | 2018-06-14 | 2018-11-23 | 广州谱道网络科技有限公司 | 一种数据定位方法及装置 |
CN109686413A (zh) * | 2018-12-24 | 2019-04-26 | 杭州费尔斯通科技有限公司 | 一种基于es倒排索引的化学分子式检索方法 |
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
CN113157869A (zh) * | 2021-05-06 | 2021-07-23 | 日照蓝鸥信息科技有限公司 | 一种文档精准定位检索方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
US20100287173A1 (en) * | 2009-05-11 | 2010-11-11 | Red Hat, Inc. | Searching Documents for Successive Hashed Keywords |
CN103345526A (zh) * | 2013-07-22 | 2013-10-09 | 武汉大学 | 一种云环境下高效的隐私保护密文查询方法 |
CN106649715A (zh) * | 2016-12-21 | 2017-05-10 | 中国人民解放军国防科学技术大学 | 一种基于局部敏感哈希算法和神经网络的跨媒体检索方法 |
-
2017
- 2017-06-28 CN CN201710506322.7A patent/CN107273529B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287173A1 (en) * | 2009-05-11 | 2010-11-11 | Red Hat, Inc. | Searching Documents for Successive Hashed Keywords |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN103345526A (zh) * | 2013-07-22 | 2013-10-09 | 武汉大学 | 一种云环境下高效的隐私保护密文查询方法 |
CN106649715A (zh) * | 2016-12-21 | 2017-05-10 | 中国人民解放军国防科学技术大学 | 一种基于局部敏感哈希算法和神经网络的跨媒体检索方法 |
Non-Patent Citations (1)
Title |
---|
刘贤焯 等: "Hash表与B+树相结合的高效目录索引结构", 《西安交通大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
CN110019985B (zh) * | 2017-12-29 | 2021-09-24 | 阿里巴巴(中国)有限公司 | 索引文件的建立、查询方法及装置 |
CN108875003A (zh) * | 2018-06-14 | 2018-11-23 | 广州谱道网络科技有限公司 | 一种数据定位方法及装置 |
CN109686413A (zh) * | 2018-12-24 | 2019-04-26 | 杭州费尔斯通科技有限公司 | 一种基于es倒排索引的化学分子式检索方法 |
CN113157869A (zh) * | 2021-05-06 | 2021-07-23 | 日照蓝鸥信息科技有限公司 | 一种文档精准定位检索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107273529B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11048966B2 (en) | Method and device for comparing similarities of high dimensional features of images | |
CN104765848B (zh) | 混合云存储中支持结果高效排序的对称可搜索加密方法 | |
CN107273529A (zh) | 基于哈希函数的高效层级索引构建及检索方法 | |
Roshdi et al. | Information retrieval techniques and applications | |
CN105320772B (zh) | 一种专利查重的关联论文查询方法 | |
CN109063509A (zh) | 一种基于关键词语义排序的可搜索加密方法 | |
US20060143171A1 (en) | System and method for processing a text search query in a collection of documents | |
CN102473185A (zh) | 信息搜索系统、信息管理设备、信息搜索方法、信息管理方法、以及记录介质 | |
CN107844565A (zh) | 商品搜索方法和装置 | |
CN107943952A (zh) | 一种基于Spark框架进行全文检索的实现方法 | |
CN108171071B (zh) | 一种面向云计算的多关键字可排序密文检索方法 | |
CN102169491B (zh) | 一种多数据集中重复记录动态检测方法 | |
CN104615676A (zh) | 一种基于最大相似度匹配的图片检索方法 | |
CN108228849A (zh) | 云网络中基于类别分组索引的密文排序搜索方法 | |
CN109902143B (zh) | 一种基于密文的多关键字扩展检索方法 | |
Stevens | Hans Peter Luhn and the birth of the hashing algorithm | |
CN103970842A (zh) | 一种面向防洪减灾领域的水利大数据存取系统及方法 | |
Zhao et al. | Sim-Min-Hash: An efficient matching technique for linking large image collections | |
CN109165331A (zh) | 一种英文地名的索引建立方法及其查询方法和装置 | |
Cai et al. | Scalable image search with multiple index tables | |
CN111325033B (zh) | 实体识别方法、装置、电子设备及计算机可读存储介质 | |
CN108416037A (zh) | 云环境中基于两级索引的中心关键词密文搜索方法 | |
CN105760875A (zh) | 基于随机森林算法的判别二进制图像特征相似实现方法 | |
CN106250453A (zh) | 基于云存储的数值型数据的密文检索方法及装置 | |
CN105956203B (zh) | 一种信息存储方法、信息查询方法、搜索引擎装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210802 Address after: 215104 room 506, floor 5, building 3, No. 1368, Wuzhong Avenue, Yuexi street, Wuzhong District, Suzhou City, Jiangsu Province Patentee after: Suzhou Luoxin Technology Co.,Ltd. Address before: 430079 building e, Cyberport, Dongxin Road, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUHAN TUXIN TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |