CN106294595A - 一种文档存储、检索方法及装置 - Google Patents
一种文档存储、检索方法及装置 Download PDFInfo
- Publication number
- CN106294595A CN106294595A CN201610615135.8A CN201610615135A CN106294595A CN 106294595 A CN106294595 A CN 106294595A CN 201610615135 A CN201610615135 A CN 201610615135A CN 106294595 A CN106294595 A CN 106294595A
- Authority
- CN
- China
- Prior art keywords
- document
- keyword
- content
- storage
- retrieval
- 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.)
- Pending
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文档存储、检索方法及装置。其中,文档检索方法包括:提取检索内容关键字;根据数据库中存储的关键字与标识信息键值对,查找检索内容关键字所对应的目标文档标识;根据数据库中存储的文档标识与存储信息键值对,查找目标文档标识对应的存储信息,并根据存储信息获取目标文档。本发明采用键值对的形式存储文档信息,结构简单,同时将文档内容关键字作为检索信息,可以满足中小公司对于文档模糊检索的需求。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文档存储方法及装置,同时还涉及一种文档检索方法及装置。
背景技术
随着信息技术的发展进步,对信息资源的管理是一项综合性的、多学科交叉的工作。其中对于信息的检索往往要占整个信息资源管理工作量的一半以上。现有的信息检索系统通常是基于精确索引以及结构化条件进行检索。然而随着大数据和云技术的普及,由于信息的形式多种多样,在这种条件下,目前的检索技术明显跟不上步伐,因此对于快速模糊检索文档的需求越来越高。
目前使用模糊检索的通常是一些专业的搜索公司,例如百度、谷歌。然而这些专业的搜索公司通常是面向网页的,并且检索系统的规模非常庞大和复杂,不能满足中小规模的检索需求。而目前中小规模的检索服务通常是基于lucene。然而,基于lucene的检索服务虽然简单小巧,但是由于是基于磁盘操作,索引重建费时,搜索速度不够快,即使固态硬盘技术使之有了提高。因此,目前急需一种快速的模糊检索方法。
发明内容
本发明实施例提供一种文档存储、检索方法及装置,用以解决现有技术中中小规模的检索服务效率低的问题。
为实现上述发明目的,本发明采用下述的技术方案:
依据本发明的一个方面,提供一种文档存储方法,包括如下步骤:
提取文档的关键字;
根据所述文档的内容生成标识信息;
获取所述文档的存储信息;
将所述关键字与所述文档标识的键值对、所述文档标识与所述存储信息的键值对作为所述文档的索引存储于数据库中。
进一步地,所述提取文档的关键字,具体包括:
对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;
筛选出权值不小于第一预设阈值的词语,所述词语即为所述文档的关键字。
进一步地,所述数据库包括内存数据库以及mysql数据库;其中,所述内存数据库存储访问热度大于第二预设阈值的文档的索引;所述mysql数据库存储所有文档的索引。
进一步地,所述方法还包括:根据所述访问热度对所述数据库存储的索引进行调整;
当所述内存数据库中文档的访问热度小于或等于第二预设阈值时,则将所述文档的索引删除;
当所述mysql数据库中文档的访问热度大于第二预设阈值时,则将所述文档的索引存储至所述内存数据库中。
进一步地,所述访问热度的计算公式为:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为所述访问热度;t为所述文档的最近访问时间;w(keyn)为检索内容关键字keyn的热度;hits为所述文档的访问次数;a1为第一调整系数。
依据本发明的一个方面,提供一种文档检索方法,基于上述的文档存储方法存储的数据库进行检索,所述文档检索方法包括:
提取检索内容关键字;
根据所述数据库中存储的关键字与文档标识键值对,查找所述检索内容关键字所对应的目标文档标识;
根据所述数据库中的存储文档标识与存储信息键值对,查找所述目标文档标识对应的存储信息,并根据所述存储信息获取目标文档。
进一步地,所述提取检索内容关键字,具体包括:
对所述检索内容进行分词,根据预先存储的语料信息获取分词后每个词语的权值;
筛选出权值不小于第三预设阈值的词语,所述词语即为所述检索内容关键字。
进一步地,所述查找检索内容关键字所对应的目标文档标识,具体包括:
判断所述检索内容中是否包括符号信息,当所述检索内容中包括符号信息时,提取检索内容中的符号信息,并识别所述符号信息的表达含义;
根据所述表达含义确定所述检索内容关键字间的逻辑关系;
根据所述检索内容关键字间的逻辑关系,对检索内容关键字所对应的文档标识进行筛选,筛选后的文档标识即为所述目标文档标识。
进一步地,所述方法还包括:
根据所述目标文档标识获取目标文档的缓存信息;其中,所述缓存信息包括检索内容关键字的热度和所述检索内容关键字在所述目标文档中出现次数;
根据所述目标文档的缓存信息计算所述目标文档与所述检索内容关键字的相关度;
根据所述相关度对所述目标文档进行排序。
进一步地,所述相关度的计算公式为:
Q={W(key1)*n1+W(key2)*n2+….+W(keyi)*ni}*a2
其中,Q为所述相关度;W(keyi)为检索内容关键字keyi的热度;ni为所述检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数。
进一步地,当所述数据库包括内存数据库和mysql数据库时;首先从所述内存数据库中获取检索文档的索引;若所述内存数据库查找不到所述索引时,从所述mysql数据库中查找。
依据本发明的一个方面,提供一种文档存储装置,包括:
提取单元,用于提取文档的关键字;
生成单元,用于根据所述文档的内容生成标识信息;
获取单元,用于获取所述文档的存储信息;
存储单元,用于将所述关键字与所述文档标识的键值对、所述文档标识与所述存储信息的键值对作为所述文档的索引存储于数据库中。
进一步地,所述提取单元具体用于:
对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;
筛选出权值不小于第一预设阈值的词语,所述词语即为所述文档的关键字。
进一步地,所述数据库包括内存数据库以及mysql数据库;其中,所述内存数据库存储访问热度大于第二预设阈值的文档的索引;所述mysql数据库存储所有文档的索引。
进一步地,所述装置还包括调整单元,用于根据所述访问热度对所述数据库存储的索引进行调整;
当所述内存数据库中文档的访问热度小于或等于第二预设阈值时,则将所述文档的索引删除;
当所述mysql数据库中文档的访问热度大于第二预设阈值时,则将所述文档的索引存储至所述内存数据库中。
进一步地,所述调整单元计算所述访问热度的公式为:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为所述访问热度;t为所述文档的最近访问时间;w(keyn)为检索内容关键字keyn的热度;hits为所述文档的访问次数;a1为第一调整系数。
依据本发明的一个方面,提供一种文档检索装置,基于上述的文档存储装置进行检索,所述文档检索装置包括:
提取模块,用于提取检索内容关键字;
第一查找模块,用于根据所述文档存储装置存储的关键字与文档标识键值对,查找所述检索内容关键字所对应的目标文档标识;
第二查找模块,用于根据所述文档存储装置存储的文档标识与存储信息键值对,查找所述目标文档标识对应的存储信息,并根据所述存储信息获取目标文档。
进一步地,所述提取模块具体用于:
对所述检索内容进行分词,根据预先存储的语料信息获取分词后每个词语的权值;
筛选出权值不小于第三预设阈值的词语,所述词语即为所述检索内容关键字。
进一步地,所述第一查找模块具体用于:
判断所述检索内容中是否包括符号信息,当所述检索内容中包括符号信息时,提取检索内容中的符号信息,并识别所述符号信息的表达含义;
根据所述表达含义确定所述检索内容关键字间的逻辑关系;
根据所述检索内容关键字间的逻辑关系,对检索内容关键字所对应的文档标识进行筛选,筛选后的文档标识即为所述目标文档标识。
进一步地,所述装置还包括排序模块,具体用于:
根据所述目标文档标识获取目标文档的缓存信息;其中,所述缓存信息包括检索内容关键字的热度和所述检索内容关键字在所述目标文档中出现次数;
根据所述目标文档的缓存信息计算所述目标文档与所述检索内容关键字的相关度;
根据所述相关度对所述目标文档进行排序。
进一步地,所述排序模块计算相关度的公式为:
Q={W(key1)*n1+W(key2)*n2+….+W(keyi)*ni}*a2
其中,Q为所述相关度;W(keyi)为检索内容关键字keyi的热度;ni为所述检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数。
进一步地,当所述文档存储装置包括内存数据库和mysql数据库时,所述第一查找模块首先从所述内存数据库中获取检索文档的索引;若所述内存数据库查找不到所述索引时,从所述mysql数据库中查找。
本发明具有以下有益效果:
本发明实施例所提供的文档存储、检索方法及装置,对数据存储结构进行了优化,在数据库中建立文档的关键字与文档标识的键值对、文档标识与存储信息的键值对。根据文档的关键字、文档标识、存储信息之间的对应关系,可以检索到对应的文件信息,从而实现检索目的。本发明中通过将文档内容关键字作为文档信息的检索信息,而非文件名称,满足了文档模糊检索的需求。此外,通过采用键值对的形式存储文档信息,结构简单,可以满足中小公司对于模糊检索需求,同时有效提高检索的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中文档存储方法的流程图;
图2为本发明一具体实施例中文档存储方法的时序流程图;
图3为本发明实施例中文档检索方法的流程图;
图4为本发明一具体实施例的文档检索方法的时序流程图;
图5为本发明实施例中文档存储装置的结构框图;
图6为本发明实施例中文档检索装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种文档存储方法,参见图1,具体包括如下步骤:
步骤101,提取文档的关键字。
在该步骤中,在提取文档的关键字时,对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;筛选出权值不小于第一预设阈值的词语,词语即为文档的关键字。
具体地,可以利用分词器将文档内容切割为一个个独立的词语。对于分词器已经为非常成熟的技术,因此本发明采用现有的分词器即可实现分词处理,例如ICTCLAS(Institute of Computing Technology,Chinese Lexical Analysis System,汉语词法分析系统)、HTTPCWS(HTTP Chinese Word Segmentation,基于HTTP的中文分词系统)。
在除了进行分词工作外,还需要去除查询内容中无意义或者重要度较低的一些词语,例如“啊”、“的”等无特殊意思的词,以达到消除干扰的目的,提高检索精度。具体地,根据每个分词后的词语在整个文档中的权值确定该词语重要度。对于确定词语重要度的可以采用TF-IDF函数或者对数函数等进行计算。具体的计算过程已属于本领域技术人员所熟知的技术,这里不再赘述。
步骤102,根据文档的内容生成文档标识。
在该步骤中,文档标识采用哈希值Hash表示。hash是根据文档的内容的数据通过逻辑运算得到的数值,不同的文档(即使是相同的文档名)得到的hash值是不同的,所以hash值就成了每一个文档的标识。对于哈希值的生成过程已属于本领域技术人员所熟知的技术,常用的算法包括MD4、MD5、SHA-1等,这里不再进行赘述。
步骤103,获取文档的存储信息。
可选地,文档的存储信息包括文档名、创建日期、修改日期、版本信息、存储路径以及文档大小等。
步骤104,将关键字与文档标识的键值对、文档标识与存储信息的键值对作为文档的索引存储于数据库中。
在该步骤中,文档的索引具体的存储形式采用键值对形式。键值对的存储方式结构简单,对数据存储结构进行了优化,可以有效满足中小企业的检索需求,同时提供检索的效率。
具体地,数据库包括内存数据库以及mysql数据库;其中,内存数据库中存储访问热度大于第二预设阈值的文档的索引;mysql数据库则存储所有文档的索引。本发明通过使用内存数据库配合mysql数据库,对存储的文档的索引进行冷热分离,提高检索的速度及效率。
进一步地,在检索时,首先在内存数据库中检索,再从mysql数据库中检索。这样基于内存访问速度较快的优势,优先从内存数据库中检索访问热度较高的文档,可以有效提高检索的效率,同时还可以有效避免lucene检索过程中的反复磁盘操作的问题。
进一步地,在检索过程中需要根据访问热度对数据库存储的索引进行更新:
当内存数据库中文档的访问热度小于或等于第二预设阈值时,则将该文档的索引删除;
当mysql数据库中文档的访问热度大于第二预设阈值时,则将该文档的索引存储至内存数据库中。
其中,当访问热度小于或等于第二预设阈值时,将索引从内存数据库删除淘汰。对于从内存中淘汰的数据并不是不需要了,而是暂时访问频度低,重要度下降,因此淘汰的文档中与访问热度相关的信息(文档的最近访问时间、访问次数等信息,后文中关于数据库的存储结构中有介绍)需重新写入mysql数据库中,对mysql数据库中存储的文档的访问热度的相关信息进行更新。
基于上述可知,内存数据库所处理的数据通常是“短暂”的,即有一定时间有更新,过时则有新的数据产生。基于内存数据数据读写速度快的优势,通过处理热度高的索引信息,可以有效提高数据访问速度,提高应用的性能。而mysql数据库处理永久、稳定的数据,处理实时数据就相对少一些,保证数据的可靠性和稳定性。
具体地,访问热度的计算公式如下:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为访问热度;t为文档的最近访问时间;hits为访问次数;w(keyn)为文档包括关键字keyn时,而在检索执行过程中关键字keyn作为检索内容关键字时,对应的热度值。该热度信息可以为检索次数、检索频率等检索相关的权值信息,也可以为语料库中关键字的权值信息,这里不做限定。a1为第一调整系数。对于第一调整系数,根据大量的检索结果进行确定。在实际检索过程中,可以根据检索需要进行调整。
需要说明的是,本发明实施例中,对于步骤101、步骤102及步骤103的顺序仅用于解释说明,不做具体的限定。任何对于步骤101、步骤102及步骤103的执行顺序的调整,都在本发明的保护范围之内。
图2为本发明一个具体实施例中文档存储方法的时序流程图,具体包括如下步骤:
步骤201,打开文档,提取文档的内容。
步骤202,对文档的内容进行分词处理,计算分词后每个词汇在该文档中的权重值。在给定的阈值范围内,根据权重值去掉重要度低的关键字。
步骤203,根据文档内容生成哈希值。
步骤204,将文档的哈希值、存储信息以key/value的形式,分别保存至内存数据库和mysql数据库中。
步骤205,将文档关键字、hash值以key/value的形式分别存入内存数据库和mysql数据库中。
步骤206,将文档按照存储路径存储到指定位置,存储流程结束。
实施例2
本发明实施例所提供的文档检索方法,采用模糊检索的方式,根据实施例1中的文档存储方法中数据库建立的文档的索引来检索文档,因此,在数据库中预先存储包括关键字与文档标识键值对、文档标识与存储信息键值对的文档索引。参见图3,本实施例所提供的文档检索方法,具体包括步骤:
步骤301,提取检索内容关键字。
在该步骤中,用户输入要检索的内容,可能是某个确定的词,也有可能是句子,也可能检索表达式。
其中,首先对检索内容进行分词处理。实施例1中已经提到具体分词处理实现方式,这里不再进行说明。接着对检索内容进行分词后,需要获取分词后每个词语的权值。其中,在数据库中预先设置了所有词语的语料信息,包含词语及该词语相关信息,例如数据表项及权值信息,具体的存储形式可以参见表1。根据该语料信息直接查询分词词语的权值信息,并筛选出权值不小于第三预设阈值的词语作为检索内容关键字。
词语 | 编码 | 数据表项 | 权值W |
表1
步骤302,根据数据库中存储的关键字与文档标识键值对,查找检索内容关键字所对应的目标文档标识。
其中,数据库中预先存储了文档的关键字与文档标识的键值对。在进行查找时,判断当检索内容中是否包含符号信息时:
当检索内容中不包含符号信息时,根据该键值对即可获取检索内容关键字对应的文档标识即为目标文档标识。
当检索内容中包含符号信息时,需要对检索到的关键字对应的文档标识做进一步的筛选。具体包括:
步骤3021,提取检索内容中的符号信息,并识别符号信息的表达含义。
在该步骤中,检索内容通常采用检索表达式的形式。例如,军舰+汽车-航母。表达式中的特殊符号信息。本发明实施例中,“+”代表“与”逻辑关系;空格代表“或”逻辑,不带任何特殊符号表示与,“-”代表“非”逻辑关系。
步骤3022,根据表达含义确定关键字间的逻辑关系。
举例说明,检索的表达式是:军舰+汽车-航母;即在文档中搜索的必须有军舰、汽车,并且不能有航母的文档;如果检索的表达式是军舰汽车,那么搜索内容为军舰、汽车两个词汇中的任何一个或两个全都存在的文档。
步骤3023,根据关键字间的逻辑关系,对关键字所对应的文档标识进行筛选,筛选后的文档标识即为目标文档标识。
举例说明,检索的关键字:军舰+汽车-航母。获取含军舰这个关键字的文档标识集;作为一个文档序列f1;检索含有汽车关键字的文档序列f2和含有航母关键字的文档序列f3。在筛选时,首先检索f1中是否有f3中检索出的文档hash,从f1中去除f3中含有的项目,对f2做同样的处理操作,从而生成f1`和f2`;取f1`和f2`中的数据结果进行取交集操作,合并为序列f,筛选完成。
进一步地,数据库包括内存数据库以及mysql数据库。首先从内存数据库中查找索引信息;若内存数据库查找不到文档的索引时,从mysql数据库中检索。本发明中通过采用内存数据库存储索引信息,可以有效提高检索的速度,同时还可以有效避免lucene检索过程中的反复磁盘操作的问题。
步骤303,根据数据库中的存储文档标识与存储信息键值对,查找目标文档标识对应的存储信息,并根据存储信息获取目标文档。
当获取关键字对应哈希值后,根据数据库中存储的哈希值-存储信息键值对获取每个哈希值对应的存储信息,并将该文档存储信息返回给用户。具体地文档存储信息的存储结构,参见表2,表名为_file_index。Index为文档哈希值对应的存储信息指向。
文档名 | 创建日期 | 修改日期 | 版本信息 | 存储路径 | 文档大小 |
表2
用户根据具体的文档名、创建日期、版本信息、存储路径、文档大小等信息确定是否符合检索要求。当确定后,选取某一文档的存储信息,并根据该存储信息从文档的存储位置中提取文档内容。
进一步地,该文档检索方法还包括:
根据目标文档标识获取目标文档的缓存信息;其中,缓存信息包括检索内容关键字的热度和检索内容关键字在目标文档中出现次数;
根据目标文档的缓存信息计算目标文档与检索内容关键字的相关度;
根据相关度对目标文档进行排序。
具体地,文档缓存信息包括检索内容关键字的热度以及检索内容关键字在目标文档的出现次数。两个参数信息作为文档的属性信息与文档标识一同存储至数据库中。数据库中对于文档标识的存储结构参见表3。表3与表1相对应的存储,例如表1中存储的词语信息为测试,则表3对应的表名为_tb_ceshi。
表3
进一步地,根据检索内容关键字热度以及关键字在文档中的出现次数对目标文档的相关度计算,公式如下:
Q={W(key1)*n1+W(key2)*n2+….+W(keyi)*ni}*a2
其中,Q为相关度;W(keyi)为文档包括关键字keyi时,而在检索过程中关键字keyi作为检索内容关键字时,对应的热度值;n为检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数,与第一调整系数类似,根据大量的检索结果进行确定。在实际检索过程中,可以根据检索需要进行调整。
参见图4,本发明提供了一具体实施例的文档检索方法的时序流程图,具体包括如下步骤:
步骤401,对该输入的查询内容进行分词,计算分词后关键字的权值,对小于阈值的关键字进行排除;
步骤402,建立关键字的逻辑表达式,处理与、或、非等逻辑关系;
步骤403,根据关键字检索文档的哈希值;
步骤404,根据生成的逻辑表达式对获取的哈希值进一步筛选;
步骤405,对生成检索结果文档按照相关度的权重值进行计算,获取排序结果;
步骤406,根据结果hash列表,查询文档存储信息,返回给用户;
步骤407,用户根据搜索结果,选取指定文档信息,提取文档信息,检索流程完毕。
实施例3
本发明实施例还提供了一种文档存储装置,如图5所示,包括:
提取单元,用于提取文档的关键字;
生成单元,用于根据文档的内容生成标识信息;
获取单元,用于获取文档的存储信息;
存储单元,用于将关键字与文档标识的键值对、文档标识与存储信息的键值对作为文档的索引存储于数据库中。
进一步地,提取单元具体用于:
对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;
筛选出权值不小于第一预设阈值的词语,词语即为文档的关键字。
进一步地,数据库包括内存数据库以及mysql数据库;其中,内存数据库存储访问热度大于第二预设阈值的文档的索引;mysql数据库存储所有文档的索引。
进一步地,装置还包括调整单元,用于根据访问热度对数据库存储的索引进行调整;
当内存数据库中文档的访问热度小于或等于第二预设阈值时,则将文档的索引删除;
当mysql数据库中文档的访问热度大于第二预设阈值时,则将文档的索引存储至内存数据库中。
进一步地,调整单元计算访问热度的公式为:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为访问热度;t为文档的最近访问时间;w(keyn)为文档包括关键字keyn时,而在检索过程中关键字keyn作为检索内容关键字时,对应的热度值;hits为文档的访问次数;a1为第一调整系数。
对于装置实施例而言,由于其与方法实施例1基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
实施例4
本发明提供一种文档检索装置,基于实施例3中的文档存储装置进行检索,包括:
提取模块,用于提取检索内容关键字;
第一查找模块,用于根据文档存储装置存储的关键字与文档标识键值对,查找检索内容关键字所对应的目标文档标识;
第二查找模块,用于根据文档存储装置存储的文档标识与存储信息键值对,查找目标文档标识对应的存储信息,并根据存储信息获取目标文档。
进一步地,提取模块具体用于:
对检索内容进行分词,根据预先存储的语料信息获取分词后每个词语的权值;
筛选出权值不小于第三预设阈值的词语,词语即为检索内容关键字。
进一步地,第一查找模块具体用于:
判断检索内容中是否包括符号信息,当检索内容中包括符号信息时,提取检索内容中的符号信息,并识别符号信息的表达含义;
根据表达含义确定关键字间的逻辑关系;
根据关键字间的逻辑关系,对关键字所对应的文档标识进行筛选,筛选后的文档标识即为目标文档标识。
进一步地,装置还包括排序模块,具体用于:
根据目标文档标识获取目标文档的缓存信息;其中,缓存信息包括检索内容关键字的热度和检索内容关键字在目标文档中出现次数;
根据目标文档的缓存信息计算目标文档与检索内容关键字的相关度;
根据相关度对目标文档进行排序。
进一步地,排序模块计算相关度的公式为:
Q={W(key1)*n1+W(key2)*n2+….+W(keyi)*ni}*a2
其中,Q为相关度;W(keyi)为文档包括关键字keyi时,而在检索过程中关键字keyi作为检索内容关键字时,对应的热度值;ni为检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数。
进一步地,当文档存储装置包括内存数据库和mysql数据库时,第一查找模块首先从内存数据库中获取检索文档的索引;若内存数据库查找不到索引时,从mysql数据库中查找。
对于装置实施例而言,由于其与方法实施例2基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (22)
1.一种文档存储方法,其特征在于,包括如下步骤:
提取文档的关键字;
根据所述文档的内容生成标识信息;
获取所述文档的存储信息;
将所述关键字与所述文档标识的键值对、所述文档标识与所述存储信息的键值对作为所述文档的索引存储于数据库中。
2.如权利要求1所述的方法,其特征在于,所述提取文档的关键字,具体包括:
对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;
筛选出权值不小于第一预设阈值的词语,所述词语即为所述文档的关键字。
3.如权利要求1所述的方法,其特征在于,所述数据库包括内存数据库以及mysql数据库;其中,所述内存数据库存储访问热度大于第二预设阈值的文档的索引;所述mysql数据库存储所有文档的索引。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:根据所述访问热度对所述数据库存储的索引进行调整;
当所述内存数据库中文档的访问热度小于或等于第二预设阈值时,则将所述文档的索引删除;
当所述mysql数据库中文档的访问热度大于第二预设阈值时,则将所述文档的索引存储至所述内存数据库中。
5.如权利要求3或4所述的方法,其特征在于,所述访问热度的计算公式为:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为所述访问热度;t为所述文档的最近访问时间;w(keyn)为检索内容关键字keyn的热度;hits为所述文档的访问次数;a1为第一调整系数。
6.一种文档检索方法,其特征在于,基于权利要求1~5任一项所述的方法存储的数据库进行检索,所述文档检索方法包括:
提取检索内容关键字;
根据所述数据库中存储的关键字与文档标识键值对,查找所述检索内容关键字所对应的目标文档标识;
根据所述数据库中的存储文档标识与存储信息键值对,查找所述目标文档标识对应的存储信息,并根据所述存储信息获取目标文档。
7.如权利要求6所述的方法,其特征在于,所述提取检索内容关键字,具体包括:
对所述检索内容进行分词,根据预先存储的语料信息获取分词后每个词语的权值;
筛选出权值不小于第三预设阈值的词语,所述词语即为所述检索内容关键字。
8.如权利要求6所述的方法,其特征在于,所述查找检索内容关键字所对应的目标文档标识,具体包括:
判断所述检索内容中是否包括符号信息,当所述检索内容中包括符号信息时,提取检索内容中的符号信息,并识别所述符号信息的表达含义;
根据所述表达含义确定所述检索内容关键字间的逻辑关系;
根据所述检索内容关键字间的逻辑关系,对检索内容关键字所对应的文档标识进行筛选,筛选后的文档标识即为所述目标文档标识。
9.如权利要求6或8所述的方法,其特征在于,所述方法还包括:
根据所述目标文档标识获取目标文档的缓存信息;其中,所述缓存信息包括检索内容关键字的热度和所述检索内容关键字在所述目标文档中出现次数;
根据所述目标文档的缓存信息计算所述目标文档与所述检索内容关键字的相关度;
根据所述相关度对所述目标文档进行排序。
10.如权利要求9所述的方法,其特征在于,所述相关度的计算公式为:
Q={W(key1)*n1+W(key2)*n2+....+W(keyi)*ni}*a2
其中,Q为所述相关度;W(keyi)为检索内容关键字keyi的热度;ni为所述检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数。
11.如权利要求6所述的方法,其特征在于,当所述数据库包括内存数据库和mysql数据库时;首先从所述内存数据库中获取检索文档的索引;若所述内存数据库查找不到所述索引时,从所述mysql数据库中查找。
12.一种文档存储装置,其特征在于,包括:
提取单元,用于提取文档的关键字;
生成单元,用于根据所述文档的内容生成标识信息;
获取单元,用于获取所述文档的存储信息;
存储单元,用于将所述关键字与所述文档标识的键值对、所述文档标识与所述存储信息的键值对作为所述文档的索引存储于数据库中。
13.如权利要求12所述的装置,其特征在于,所述提取单元具体用于:
对文档内容进行分词处理,计算分词后每个词在文档内容中的权值;
筛选出权值不小于第一预设阈值的词语,所述词语即为所述文档的关键字。
14.如权利要求12所述的装置,其特征在于,所述数据库包括内存数据库以及mysql数据库;其中,所述内存数据库存储访问热度大于第二预设阈值的文档的索引;所述mysql数据库存储所有文档的索引。
15.如权利要求14所述的装置,其特征在于,所述装置还包括调整单元,用于根据所述访问热度对所述数据库存储的索引进行调整;
当所述内存数据库中文档的访问热度小于或等于第二预设阈值时,则将所述文档的索引删除;
当所述mysql数据库中文档的访问热度大于第二预设阈值时,则将所述文档的索引存储至所述内存数据库中。
16.如权利要求14或15所述的装置,其特征在于,所述调整单元计算所述访问热度的公式为:
N=t+hits*a1+{w(key1)+w(key2)+…+w(keyn)}
其中,N为所述访问热度;t为所述文档的最近访问时间;w(keyn)为检索内容关键字keyn的热度;hits为所述文档的访问次数;a1为第一调整系数。
17.一种文档检索装置,其特征在于,基于权利要求12~16任一项所述的文档存储装置进行检索,所述文档检索装置包括:
提取模块,用于提取检索内容关键字;
第一查找模块,用于根据所述文档存储装置存储的关键字与文档标识键值对,查找所述检索内容关键字所对应的目标文档标识;
第二查找模块,用于根据所述文档存储装置存储的文档标识与存储信息键值对,查找所述目标文档标识对应的存储信息,并根据所述存储信息获取目标文档。
18.如权利要求17所述的装置,其特征在于,所述提取模块具体用于:
对所述检索内容进行分词,根据预先存储的语料信息获取分词后每个词语的权值;
筛选出权值不小于第三预设阈值的词语,所述词语即为所述检索内容关键字。
19.如权利要求17所述的装置,其特征在于,所述第一查找模块具体用于:
判断所述检索内容中是否包括符号信息,当所述检索内容中包括符号信息时,提取检索内容中的符号信息,并识别所述符号信息的表达含义;
根据所述表达含义确定所述检索内容关键字间的逻辑关系;
根据所述检索内容关键字间的逻辑关系,对检索内容关键字所对应的文档标识进行筛选,筛选后的文档标识即为所述目标文档标识。
20.如权利要求17或19任一项所述的装置,其特征在于,所述装置还包括排序模块,具体用于:
根据所述目标文档标识获取目标文档的缓存信息;其中,所述缓存信息包括检索内容关键字的热度和所述检索内容关键字在所述目标文档中出现次数;
根据所述目标文档的缓存信息计算所述目标文档与所述检索内容关键字的相关度;
根据所述相关度对所述目标文档进行排序。
21.如权利要求20所述的装置,其特征在于,所述排序模块计算相关度的公式为:
Q={W(key1)*n1+W(key2)*n2+....+W(keyi)*ni}*a2
其中,Q为所述相关度;W(keyi)为检索内容关键字keyi的热度;ni为所述检索内容关键字keyi在目标文档的出现次数;a2为第二调整系数。
22.如权利要求17所述的装置,其特征在于,当所述文档存储装置包括内存数据库和mysql数据库时,所述第一查找模块首先从所述内存数据库中获取检索文档的索引;若所述内存数据库查找不到所述索引时,从所述mysql数据库中查找。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610615135.8A CN106294595A (zh) | 2016-07-29 | 2016-07-29 | 一种文档存储、检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610615135.8A CN106294595A (zh) | 2016-07-29 | 2016-07-29 | 一种文档存储、检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106294595A true CN106294595A (zh) | 2017-01-04 |
Family
ID=57663479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610615135.8A Pending CN106294595A (zh) | 2016-07-29 | 2016-07-29 | 一种文档存储、检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294595A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815368A (zh) * | 2017-01-24 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 一种信息检索方法及装置 |
CN107239545A (zh) * | 2017-06-05 | 2017-10-10 | 厦门美柚信息科技有限公司 | 实现文本信息实时推荐的系统及方法 |
CN107273519A (zh) * | 2017-06-22 | 2017-10-20 | 睿视智联科技(香港)有限公司 | 数据分析方法、装置、终端及存储介质 |
CN107548055A (zh) * | 2017-08-31 | 2018-01-05 | 北京博思汇众科技股份有限公司 | 多地区sim卡的选取方法、系统、装置及工控机 |
CN108287927A (zh) * | 2018-03-05 | 2018-07-17 | 北京百度网讯科技有限公司 | 用于获取信息的方法及装置 |
CN108460041A (zh) * | 2017-02-20 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 数据的处理方法和装置 |
CN109241361A (zh) * | 2018-08-31 | 2019-01-18 | 上海雄九投资控股(集团)有限公司 | 基于区块链的数据处理方法 |
CN110807092A (zh) * | 2019-10-24 | 2020-02-18 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN110825846A (zh) * | 2019-10-24 | 2020-02-21 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN112052309A (zh) * | 2020-09-07 | 2020-12-08 | 深圳壹账通智能科技有限公司 | 一种文本数据的检索方法、相关设备和可读存储介质 |
CN112559684A (zh) * | 2020-12-10 | 2021-03-26 | 中科院计算技术研究所大数据研究院 | 一种关键词提取及信息检索方法 |
CN112989795A (zh) * | 2021-02-09 | 2021-06-18 | 苏宁金融科技(南京)有限公司 | 一种文本信息提取方法、装置、计算机设备及存储介质 |
CN115934880A (zh) * | 2022-10-31 | 2023-04-07 | 永道工程咨询有限公司 | 一种工程造价文档数据库构建和工程造价文档检索方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取系统及其数据存取方法 |
CN102541960A (zh) * | 2010-12-31 | 2012-07-04 | 北大方正集团有限公司 | 一种模糊检索的方法及装置 |
CN103440260A (zh) * | 2013-07-31 | 2013-12-11 | 北京百度网讯科技有限公司 | 一种用于提供呈现信息的方法与设备 |
CN104679778A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种搜索结果的生成方法及装置 |
US20150278259A1 (en) * | 2012-10-16 | 2015-10-01 | Nec Corporation | Entry insertion apparatus, method, and program |
-
2016
- 2016-07-29 CN CN201610615135.8A patent/CN106294595A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541960A (zh) * | 2010-12-31 | 2012-07-04 | 北大方正集团有限公司 | 一种模糊检索的方法及装置 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取系统及其数据存取方法 |
US20150278259A1 (en) * | 2012-10-16 | 2015-10-01 | Nec Corporation | Entry insertion apparatus, method, and program |
CN103440260A (zh) * | 2013-07-31 | 2013-12-11 | 北京百度网讯科技有限公司 | 一种用于提供呈现信息的方法与设备 |
CN104679778A (zh) * | 2013-11-29 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种搜索结果的生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
平震宇 等: "《网络数据库SQL Server 2005教程》", 31 December 2010, 中国电力出版社 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815368A (zh) * | 2017-01-24 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 一种信息检索方法及装置 |
CN108460041A (zh) * | 2017-02-20 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 数据的处理方法和装置 |
CN108460041B (zh) * | 2017-02-20 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 数据的处理方法和装置 |
CN107239545A (zh) * | 2017-06-05 | 2017-10-10 | 厦门美柚信息科技有限公司 | 实现文本信息实时推荐的系统及方法 |
CN107273519A (zh) * | 2017-06-22 | 2017-10-20 | 睿视智联科技(香港)有限公司 | 数据分析方法、装置、终端及存储介质 |
CN107548055B (zh) * | 2017-08-31 | 2021-01-01 | 北京博思汇众科技股份有限公司 | 多地区sim卡的选取方法、系统、装置及工控机 |
CN107548055A (zh) * | 2017-08-31 | 2018-01-05 | 北京博思汇众科技股份有限公司 | 多地区sim卡的选取方法、系统、装置及工控机 |
CN108287927A (zh) * | 2018-03-05 | 2018-07-17 | 北京百度网讯科技有限公司 | 用于获取信息的方法及装置 |
CN108287927B (zh) * | 2018-03-05 | 2019-10-22 | 北京百度网讯科技有限公司 | 用于获取信息的方法及装置 |
CN109241361A (zh) * | 2018-08-31 | 2019-01-18 | 上海雄九投资控股(集团)有限公司 | 基于区块链的数据处理方法 |
CN110807092A (zh) * | 2019-10-24 | 2020-02-18 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN110825846A (zh) * | 2019-10-24 | 2020-02-21 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN110825846B (zh) * | 2019-10-24 | 2023-10-20 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN110807092B (zh) * | 2019-10-24 | 2023-10-20 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN112052309A (zh) * | 2020-09-07 | 2020-12-08 | 深圳壹账通智能科技有限公司 | 一种文本数据的检索方法、相关设备和可读存储介质 |
CN112559684A (zh) * | 2020-12-10 | 2021-03-26 | 中科院计算技术研究所大数据研究院 | 一种关键词提取及信息检索方法 |
CN112989795A (zh) * | 2021-02-09 | 2021-06-18 | 苏宁金融科技(南京)有限公司 | 一种文本信息提取方法、装置、计算机设备及存储介质 |
CN115934880A (zh) * | 2022-10-31 | 2023-04-07 | 永道工程咨询有限公司 | 一种工程造价文档数据库构建和工程造价文档检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294595A (zh) | 一种文档存储、检索方法及装置 | |
US11853334B2 (en) | Systems and methods for generating and using aggregated search indices and non-aggregated value storage | |
US10242121B2 (en) | Automatic browser tab groupings | |
Zhang et al. | Processing spatial keyword query as a top-k aggregation query | |
US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
US9922032B2 (en) | Featured co-occurrence knowledge base from a corpus of documents | |
TWI710917B (zh) | 資料處理方法及裝置 | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
US10956469B2 (en) | System and method for metadata correlation using natural language processing | |
CN105843841A (zh) | 一种小文件存储方法和系统 | |
US9262506B2 (en) | Generating mappings between a plurality of taxonomies | |
CN106227788A (zh) | 一种以Lucene为基础的数据库查询方法 | |
CN110222249B (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
US20150302036A1 (en) | Method, system and computer program for information retrieval using content algebra | |
CN107944041A (zh) | 一种hdfs的存储结构优化方法 | |
CN110019669A (zh) | 一种文本检索方法及装置 | |
CN110032721A (zh) | 一种裁判文书推送方法及装置 | |
CN107193754A (zh) | 进行数据存储用于搜索的方法及设备 | |
US11030153B2 (en) | System and method for storing data with rules on containers for collections of data | |
Huang et al. | Design a batched information retrieval system based on a concept-lattice-like structure | |
Wahyudi et al. | Information retrieval system for searching JSON files with vector space model method | |
Sharma et al. | Bug Report Triaging Using Textual, Categorical and Contextual Features Using Latent Dirichlet Allocation | |
CN110019295A (zh) | 数据库检索方法、装置、系统以及存储介质 | |
CN110019665A (zh) | 文本检索方法及装置 | |
CN107169065A (zh) | 一种特定内容的去除方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170104 |