一种智能数据检索方法与流程

文档序号:13661701阅读:1563来源:国知局
本发明涉及一种检索方法,特别是一种智能数据检索方法。
背景技术
::在现有的知识检索库中,检索范围往往都限定在单机房数据存储中心内,而且检索的所用数据存储中心内的知识载体也都单一存在,因此,在用户检索时检索到的结果往往时文本文字上的匹配,不能对文本的内容做出处理需要的处理,虽然只需要单点维护,机器架构简单,但是却不能给客户做出更好的服务,因此,需要对现有的12345产品知识库的检索方法和架构进行提升,解决现阶段12345产品知识库检索,还局限于单机房,单知识载体(存储于数据库中),单点维护,知识检索有很大的局限性,检索到的结果仅仅是文本上的匹配,没有针对热点民生问题做处理。因此需要实现对多载体知识的处理,跨多机房知识的抽取,机器学的整合,为用户提供海量数据,智能检索的便利。技术实现要素:本发明所要解决的技术问题是提供一种智能数据检索方法,其打破多机房知识孤岛的壁垒,实现多知识载体统一归档化,实现知识问题智能检索。为解决上述技术问题,本发明所采用的技术方案是:一种智能数据检索方法,其特征在于包含以下步骤:步骤一:通过etl技术将若干个相互独立的节点机中的知识数据统一抽取到原始数据库中;步骤二:原始数据库中的海量知识数据由若干个hbase组成,将不同知识载体和不同的知识格式的知识内容汇总在一起;步骤三:针对原始库中的知识数据,对数据进行清洗,去重,然后应用协同过滤算法生成知识模型;步骤四:应用lucence技术,针对模型数据生成索引,存入索引库;步骤五:将索引库共享给所有节点机房的用户。进一步地,所述步骤一中etl技术具体为,使用kettle工具,将有规则的知识数据和不规则的知识数据传输到原始仓库中,其中有规则的知识数据指数据库中的知识记录,包括知识内容、知识标题、知识的上传时间、知识的关键字、知识类型、知识评分信息,不规则的知识数据是存在硬盘中的附件信息,包括txt、word、excel文件格式的知识,有规则的知识数据,直接通过kettle工具直接导入原始数据库中,不规则的知识数据通过解析软件把附件中的文本数据解析后,再通过kettle工具传输到原始仓库中。进一步地,所述原始数据库由一个hbase集群组成,hbase集群将知识数据的不同属性信息存储在htable中,htable按rowkey自动排序,每个row包含任意数量个columns,columns之间按columnkey自动排序,每个column包含任意数量个values。进一步地,所述原始数据库中的知识数据通过应用hadoop的mapreduce和hdfs,对数据进行清洗、去重。进一步地,所述mapreduce运行的时候,通过mapper运行的任务读取hdfs中的数据文件,然后调用自己进行处理数据,最后输出。进一步地,所述mapper运行的任务是一个java进程,包含以下步骤:1)把输入文件按照一定的标准分片,每个输入片的大小是固定的;2)对输入片中的记录按照一定的规则解析成键值对;3)调用mapper类中的map方法,每解析出来一个键值对,调用一次map方法;4)基于键对输出的键值对进行分区;5)对每个分区中的键值对进行排序,先按照键进行排序,对于键相同的键值对,按照值进行排序;6)对数据进行归约处理。进一步地,所述归约处理为reduce处理,接收mapper任务的输出,处理后写入到hdfs中。进一步地,所述reduce处理为一个java进程,包括以下步骤:1)主动从mapper任务复制其输出的键值对;2)把复制到reducer的本地数据全部进行合并,即把分散的数据合并成一个大的数据,并且对合并后的数据排序;3)对排序后的键值对调用reduce方法;4)将输出的键值对写入到hdfs文件中。进一步地,所述步骤四中lucene记述包括索引和检索两个过程。本发明与现有技术相比,具有以下优点和效果:1、多节点知识数据的统一:引入了etl技术将若干个相互独立的节点机中的知识数据统一抽取到原始数据库中。2、多载体知识数据的统一:通过应用hadoop的mapreduce和hdfs对不同载体的知识数据进行统一、排序。3、智能推送:针对hbase数据库中的知识数据,应用协同过滤算法,依据知识的相似性,并行计算,形成知识推荐模型。附图说明图1是本发明的一种智能数据检索方法的示意图。具体实施方式下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。本发明的一种智能数据检索方法通过节点机、海量知识智能搜索引擎和索引仓库的数据连接,解决现有技术中的不足。其中智能搜索引擎包含原始数据仓库模块,lucene模块以及模型,本技术方案通过etl脚本将各个节点机内的不同载体的知识数据传输到原始数据仓库中,原始数据仓库划分为多个分区,每个分区通过知识相似性算法,创建知识模型,对知识模型去重清洗,然后依托lucene对模型创建索引,创建好的索引,以流的形式写入索引仓库,用户进行检索时只需对索引仓库目录进行检索,就可以实现海量知识数据的快速定位。智能数据检索方法所用到的系统包括若干节点机、搜索引擎和索引仓库,所述的搜索引擎包括原始数据仓库模块,模型以及lucene模块。如图1所示,本发明的一种智能数据检索方法,包含以下步骤:步骤一:通过etl技术将若干个相互独立的节点机中的知识数据统一抽取到原始数据库中;etl技术是通过使用kettle工具,将有规则的知识数据和不规则的知识数据传输到原始仓库中,有规则的知识数据一般指数据库中的知识记录,其中包括知识内容,知识标题,知识的上传时间,知识的关键字,知识类型,知识评分等信息,不规则的知识数据一般是存在硬盘中的附件信息,其中有txt,word,excel等文件格式的知识,有规则的知识数据,直接通过kettle工具直接导入原始数据库中,不规则的知识数据则需要通过解析软件把附件中的文本数据解析后,在通过kettle工具,传输到原始仓库中。步骤二:原始数据库中的海量知识数据由若干个hbase组成,将不同知识载体和不同的知识格式的知识内容汇总在一起;步骤三:针对原始库中的知识数据,对数据进行清洗,去重,然后应用协同过滤算法生成知识模型;步骤四:应用lucence技术,针对模型数据生成索引,存入索引库;lucene记述包括索引和检索两个过程。步骤五:将索引库共享给所有节点机房的用户。其中,原始数据库由一个hbase集群组成,hbase集群将知识数据的不同属性信息存储在htable中,htable按rowkey自动排序,每个row包含任意数量个columns,columns之间按columnkey自动排序,每个column包含任意数量个values。原始数据库中的知识数据通过应用hadoop的mapreduce和hdfs,对数据进行清洗、去重。mapreduce运行的时候,通过mapper运行的任务读取hdfs中的数据文件,然后调用自己进行处理数据,最后输出。mapper运行的任务是一个java进程,包含以下步骤:1)把输入文件按照一定的标准分片,每个输入片的大小是固定的;2)对输入片中的记录按照一定的规则解析成键值对;3)调用mapper类中的map方法,每解析出来一个键值对,调用一次map方法;4)基于键对输出的键值对进行分区;5)对每个分区中的键值对进行排序,先按照键进行排序,对于键相同的键值对,按照值进行排序;6)对数据进行归约处理。归约处理为reduce处理,接收mapper任务的输出,处理后写入到hdfs中。reduce处理为一个java进程,包括以下步骤:1)主动从mapper任务复制其输出的键值对;2)把复制到reducer的本地数据全部进行合并,即把分散的数据合并成一个大的数据,并且对合并后的数据排序;3)对排序后的键值对调用reduce方法;4)将输出的键值对写入到hdfs文件中。本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属
技术领域
:的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1