买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种面向Mongo数据库的全文信息检索方法_广州慧睿思通信息科技有限公司_201710777316.5 

申请/专利权人:广州慧睿思通信息科技有限公司

申请日:2017-09-01

公开(公告)日:2020-06-05

公开(公告)号:CN107818126B

主分类号:G06F16/31(20190101)

分类号:G06F16/31(20190101);G06F16/33(20190101)

优先权:

专利状态码:有效-授权

法律状态:2020.06.05#授权;2018.04.13#实质审查的生效;2018.03.20#公开

摘要:本发明公开了一种面向Mongo数据库的全文信息检索方法,该方法通过对资源信息采集,先把采集的信息存储到Mongo数据库中,变成非结构化数据列表,再通过Lucene搜索引擎对这些非结构化数据建立索引文件,并把索引文件存储到Mongo数据库的GridFS集合中。关键词检索只返回Mongo数据库中的文档编号,通过编号取文档信息。本发明中面向Mongo数据库的全文信息检索方法通过Mongo数据库很好的横向扩容能力,解决大数据存储问题;通过将索引文件直接建立在MongoGridFS文件集合中,避免用户对索引文件误操作;采用Lucene搜索引擎对Mongo数据库中的资源信息创建索引,解决Mongo数据库不能对中文全文信息检索的缺陷。

主权项:1.一种面向Mongo数据库的全文信息检索方法,其特征在于,所述的全文信息检索方法包括下列步骤:S1、在Mongo数据库上直接建立文件索引,具体如下:S101、构建MongoGridFS文件索引库,将lucene生成的索引文件都存入到MongoGridFS文件集合中;S102、构造Lucene分析器,用于对资源信息进行分词处理;S103、构造Lucene索引创建器,用于把lucene生成的索引文件写入到MongoGridFS文件集合中;S104、把Mongo数据库中存储的资源信息,转换成Lucene识别的文件,并设置相应的属性域Filed内容;S105、对资源信息进行分词处理,然后通过索引构造器将资源的索引内容写入到MongoGrdiFS集合中;S2、基于Mongo数据库检索关键词相关的资源信息,具体如下:S201、构造lucene检索器,以只读的方式打开MongoGridFS文件集合中的索引文件,用于检索;S202、构造Lucene分析器,把要检索的关键词转换成查询条件;S203、对使用分析器检索信息分词处理,变成多个关键词;S204、把关键词变成Lucene识别的查询条件;S205、通过Lucene检索器进行检索,结果信息集中,每条记录只有一个属性域,内容是Mongo资源信息数据的唯一编号;S206、通过结果集中的资源信息唯一编号,取Mongo数据库中资源信息数据详情。

全文数据:一种面向Mongo数据库的全文信息检索方法技术领域[0001]本发明涉及计算机应用技术领域,具体涉及一种面向Mongo数据库的全文信息检索方法。背景技术[0002]Mongo数据库是一个高性能,开源,无模式的文档型数据库,其具有如下突出优点:[0003]1面向集合存储,易存储对象类型的数据。[0004]⑵模式自由。[0005]⑶使用MongoGridFS支持大文件存储。[0006]⑷支持复制和故障恢复。[0007]⑸自动处理碎片,以支持云计算层次的扩展性。[0008]⑹可通过网络访问。[0009]Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。它提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。Lucene作为一个全文检索引擎,其具有如下突出的优点:[0010]1优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。[0011]⑵设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。[0012]3已经默认实现了一套强大的查询引擎,用户无需自己编写代码即可使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询、分组查询等。[0013]综上,将mongo数据库与Lucene全文检索引擎结合可以实现mongo数据库的全文检索。[00M]申请号为“201510640451_6”的“基于Lucene的光盘库全文检索系统”专利,公开了构造索引库,构造分析器,构造索引创建器,对文件数据建立索引过程,但该方案与面向Mongo数据库的构建索引具有这样的区别:[0015]1Mongo数据库是一个高性能,开源,无模式的文档型数据库,非常适合非结构化数据的存储,相对于存储数据到光盘,需要一个系统管理光盘数据读取,具有非常大的成本优势。[0016]2大数据的全文检索,使用光盘库这种方式可能需要非常多的光盘才够存储,光盘多了还得管理好光盘,而使用Mongo数据库来做却非常简单,只要给|^0即0数据库增加分片就解决了。发明内容[0017]本发明的目的是为了解决现有技术中Mongo数据库自带的全文检索功能不支持中文检索的缺陷,提供一种面向Mongo数据库的全文信息检索方法。[0018]本发明的目的可以通过采取如下技术方案达到:[0019]一种面向Mongo数据库的全文信息检索方法,所述的全文信息检索方法包括下列步骤:[0020]S1、在Mongo数据库上直接建立文件索引,具体如下:[0021]S101、构建MongoGridFS文件索引库,将lucene生成的索引都存入到MongoGridFS集合中;[0022]S102、构造Lucene分析器,用于对资源信息进行分词处理;[0023]S103、构造Lucene索引创建器,用于把lucene生成的索引文件写入到MongoGridFS文件集合中;[0024]sl〇4、把Mongo数据库中存储的资源信息,转换成Lucene识别的文件,并设置相应的属性域Filed内容;[0025]S105、对资源信息进行分词处理,然后通过索引构造器将资源的索引内容写入到MongoGrdiFS集合中;[0026]S2、基于Mongo数据库检索关键词相关的资源信息,具体如下:[0027]S201、构造lucene检索器,以只读的方式打开MongoGridFS文件集合中的索引文件,用于检索;[0028]S2〇2、构造Lucene分析器,把要检索的关键词转换成查询条件;[0029]S2〇3、对使用分析器检索信息分词处理,变成多个关键词;[0030]S2〇4、把关键词变成Lucene识别的查询条件;[0031]S205、通过Lucene检索器进行检索,结果信息集中,每条记录只有一个属性域,内容是Mongo资源信息数据的唯一编号;[0032]S206、通过结果集中的资源伯息唯一编号,取Mongo数据库中资源信息数据详情。[0033]进一步地,所述步骤S101具体如下:[0034]S1011、搭建Mongo数据库集群服务;[0035]S1012、资源信息采集后存在到Mongo数据库中;[0036]S1013、扩展Lucene索引存储接口,使用MongoGridFS文件集合建立Lucene索引文件库;~[0037]S1014、读取Mongoo数据库存储的资源信息集合数据;[0038]S1015、将上述资源信息集合数据写入到MongoGridFS文件集合中。[0039]进一步地,所述的步骤S104中除Mongo数据库资源信息数据的唯一编号外,其他属性域都不存储原信息。~[0040]本发明相对于现有技术具有如下的优点及效果:[0041]1本发明中面向Mongo数据库的全文信息检索方法通过Mongo数据库很好的横向扩容能力,解决大数据存储问题。[0042]2本发明中面向Mongo数据库的全文彳目息检索方法将索引文件直接建立在MongoGridFS文件集合中,避免用户对索引文件误操作。[0043]3本发明中面向Mongo数据库的全文信息检索方法采用Lucene搜索引擎对M〇ng〇数据库中的资源信息创建索引,解决Mongo数据库不能对中文全文信息检索的缺陷。附图说明[0044]图1是本发明利用基于Lucene在Mongo数据库上直接建立文件索引的方法流程图;[0045]图2是基于Mongo数据库检索关键词相关的资源信息的方法流程图。具体实施方式[0046]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0047]实施例[0048]本实施例公开了一种面向Mongo数据库的全文信息检索方法,包括下列步骤:[0049]S1、在Mongo数据库上直接建立文件索引;[0050]S2、基于Mongo数据库检索关键词相关的资源信息。[0051]如图1所示,在Mongo数据库上直接建立文件索引实现中文检索的方法,步骤如下:[0052]步骤S101、构建MongoGridFS文件索引库,将lucene生成的索引都存入到MongoGridFS集合中。[0053]其中,步骤S101进一步具体为:[0054]步骤S1011、搭建Mongo数据库集群服务。[0055]该步骤搭建了Mongo数据库的集群服务,解决了大数据的分布式存储。[0056]步骤S1012、资源信息采集后存在到Mongo数据库中。[0057]该步骤把本地或网络上资源提取到Mongo数据库,作为全文检索的目标。[0058]步骤S1013、扩展Lucene索引存储接口,使用MongoGridFS文件集合建立Lucene索引文件库。[0059]步骤S1014、读取Mongoo数据库存储的资源信息集合数据。[0060]步骤S1015、将上述资源信息集合数据写入到MongoGridFS文件集合中。[0061]上述步骤S1011至步骤S1015完成了零散文件数据采集到Mongo数据库过程,并通过扩展Lucene索引存储接口,给采集到的数据建立MongoGridFS文件索引库。[0062]步骤S102、构造Lucene分析器,用于对资源信息进行分词处理。[0063]步骤S103、构造Lucene索引创建器,用于把lucene生成的索引文件写入到MongoGridFS文件集合中。[0064]步骤S104、把Mongo数据库中存储的资源信息,转换成Lucene识别的文件,并设置相应的属性域Filed内容,除Mongo数据库资源信息数据的唯一编号,其他属性域都不存储原{目息。[0065]步骤S105、对资源信息进行分词处理,然后通过索引构造器将资源的索引内容写入到MongoGrdiFS集合中。[0066]如图2所示,基于Mongo数据库检索关键词相关的资源信息的方法,步骤如下:[0067]步骤S2〇l、构造lucene检索器,以只读的方式打开MongoGridFS文件集合中的索引文件,用于检索。'[0068]步骤S2〇2、构造Lucene分析器,把要检索的关键词转换成查询条件。[0069]步骤S2〇3、对使用分析器检索信息分词处理,变成多个关键词。[0070]步骤S2〇4、把关键词变成Lucene识别的查询条件。[0071]步骤S2〇5、通过Lucene检索器进行检索,结果信息集中,每条记录只有一个属性域,内容是Mongo资源信息数据的唯一编号。[0072]步骤S206、通过结果集中的资源信息唯一编号,取Mongo数据库中资源信息数据详情。[0073]综上所述,本发明通过对资源信息采集,先把采集的信息存储到Mongo数据库中,变成非结构化数据列表,再通过Lucene搜索引擎对这些非结构化数据建立索引文件,并把索引文件存储到Mongo数据库的GridFS集合中。关键词检索只返回Mongo数据库中的文档编号,通过编号取文档信息。本发明中面向Mongo数据库的全文信息检索方法通过Mongo数据库很好的横向扩容能力,解决大数据存储问题;通过将索引文件直接建立在MongoGridFS文件集合中,避免用户对索引文件误操作;采用Lucene搜索引擎对Mongo数据库中的资源信息创建索引,解决Mongo数据库不能对中文全文信息检索的缺陷。[0074]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

权利要求:1.一种面向Mongo数据库的全文信息检索方法,其特征在于,所述的全文信息检索方法包括下列步骤:51、在Mongo数据库上直接建立文件索引,具体如下:5101、构建MongoGridFS文件索引库,将lucene生成的索引都存入到MongoGridFS集合中;5102、构造Lucene分析器,用于对资源信息进行分词处理;5103、构造Lucene索引创建器,用于把lucene生成的索引文件写入到MongoGridFS文件集合中;5104、把Mongo数据库中存储的资源信息,转换成Lucene识别的文件,并设置相应的属性域Filed内容;Sl〇5、对资源信息进行分词处理,然后通过索引构造器将资源的索引内容写入到MongoGrdiFS集合中;52、基于Mongo数据库检索关键词相关的资源信息,具体如下:S2〇l、构造lucene检索器,以只读的方式打开MongoGridFS文件集合中的索引文件,用于检索;5202、构造Lucene分析器,把要检索的关键词转换成查询条件;5203、对使用分析器检索信息分词处理,变成多个关键词;5204、把关键词变成Lucene识别的查询条件;5205、通过Lucene检索器进行检索,结果信息集中,每条记录只有一个属性域,内容是Mongo资源信息数据的唯一编号;5206、通过结果集中的资源信息唯一编号,取Mongo数据库中资源信息数据详情。2.根据权利要求1所述的一种面向Mongo数据库的全文信息检索方法,其特征在于,所述步骤S101具体如下:51011、搭建Mongo数据库集群服务;51012、资源信息采集后存在到Mongo数据库中;51013、扩展Lucene索引存储接口,使用MongoGridFS文件集合建立Lucene索引文件库;51014、读取Mongoo数据库存储的资源信息集合数据;51015、将上述资源信息集合数据写入到MongoGridFS文件集合中。3.根据权利要求1所述的一种面向Mongo数据库的全文信息检索方法,其特征在于,所述的步骤S104中除Mongo数据库资源信息数据的唯一编号外,其他属性域都不存储原信息。

百度查询: 广州慧睿思通信息科技有限公司 一种面向Mongo数据库的全文信息检索方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。