CN106202552A - 基于云计算的数据搜索方法 - Google Patents

基于云计算的数据搜索方法 Download PDF

Info

Publication number
CN106202552A
CN106202552A CN201610600312.5A CN201610600312A CN106202552A CN 106202552 A CN106202552 A CN 106202552A CN 201610600312 A CN201610600312 A CN 201610600312A CN 106202552 A CN106202552 A CN 106202552A
Authority
CN
China
Prior art keywords
index
file
document
word
term
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
Application number
CN201610600312.5A
Other languages
English (en)
Inventor
赖真霖
文君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Sixiang Lianchuang Technology Co Ltd
Original Assignee
Chengdu Sixiang Lianchuang Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Sixiang Lianchuang Technology Co Ltd filed Critical Chengdu Sixiang Lianchuang Technology Co Ltd
Priority to CN201610600312.5A priority Critical patent/CN106202552A/zh
Publication of CN106202552A publication Critical patent/CN106202552A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于云计算的数据搜索方法,该方法包括:将多个文档组成基本索引,运行于HDFS的DataNode上;在HDFS的NameNode上建立增量索引和差分索引,分别用于保存新增的索引项和待删除索引项;根据预定义策略对索引项数据进行压缩编码。本发明提出了一种基于云计算的数据搜索方法,利用搜索词的特征表示理解用户意图,并通过改进的索引机制提高了搜索引擎的效率,增强了用户体验。

Description

基于云计算的数据搜索方法
技术领域
本发明涉及数据搜索,特别涉及一种基于云计算的数据搜索方法。
背景技术
随着互联网的发展,搜索引擎要处理的数据量越来越大,对搜索引擎的性能要求越来越高。高效的针对用户的搜索词,可以挖掘出一些潜在的用户意图,其中根据搜索词的分类可以得知用户想搜索到哪个领域的结果,针对用户意图及这个领域的特点可以给用户推荐满足用户需求的应用,来优化搜索结果。为了提高信息检索效率,信息检索系统一般都采用基于云的并行计算平台和索引技术。索引的结构设计、存储方式、检索操作和动态更新算法对信息检索的效率有很大的影响。然而,现有技术的搜索引擎对搜索词的处理不够完善,没有特别对用户意图进行有效预测。并且在索引处理上,索引的添加需要将新增的记录与原有的索引的相同项合并。在HDFS中这项操作需要重新创建块。每个DataNode上的副本信息也需要更新。而且在索引中的删除内容只能删除整个块,并产生大量的I/O通信,浪费大量的时间和资源。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种基于云计算的数据搜索方法,包括:
将多个文档组成基本索引,运行于HDFS的DataNode上;
在HDFS的NameNode上建立增量索引和差分索引,分别用于保存新增的索引项和待删除索引项;
根据预定义策略对索引项数据进行压缩编码。
优选地,所述文档由多个索引项构成,每个索引项包含一个检索词和多个文件列表,文件列表由文件ID和该检索词在这个文档中出现的次数和位置信息构成,基本索引文件保存在HDFS中,被分块后存储于集群中不同的DataNode;差分索引包括无效文档列表,记录所有文档库中要被删除的文档ID,响应检索请求时,根据该列表从检索结果中过滤掉该列表中的所有ID对应的文件;差分索引在文档库中有文件被删除时生成,当差分索引文件达到一定阈值时,系统根据该差分索引文件更新基本索引;当文件库中有新增文件时,由该文件生成一条独立增量索引,独立索引用于记录一个文档中出现的所有检索词在该文档中出现的信息;当独立索引的数量到达一定的阈值,触发合并过程,将所有独立索引合并为一个整体,即一个增量索引;当增量索引的数量达到一定阈值时,触发合并操作将多个增量索引合并到基本索引中;索引结构中,将词库中的词按频率划分为高频词和低频词,对不同频率的词采用不同的方式存储在NameNode内存中,以散列表的形式组织;对于高频词,每个词用一个独立的文件保存其索引,对于低频词,将多个检索词的表保存到同一个文件中;通过散列函数将每一个高频词的索引信息映射到独立的文件中,并将多个低频词的索引信息映射到一个文件中;检索时根据词的频率属性,采用不同的方式进行分布式检索;
设置索引项的结构如下:
<wordid,docnum,<docid,freq,<p1,p2,...,pn>>,...,<docid,freq,<p1,p2,...pn>>>
Wordid表示检索词,docnum代表检索词wordid在docnum个文档中出现过;后面为docnum个Doclist,每个Doclist表示wordid在一个文件中出现的次数和位置信息;Docid代表该检索词出现的一个文件编号,freq表示检索词在这个文件中出现的次数,随后是一个长度为freq的列表,表示检索词每次出现的位置信息;
上述结构中存在两个递增的列表:递增的文档ID号:(doc1,doc2,doc3,...,docn);递增的位置信息序列:(p1,p2,p3,...,pn);保留序列中的第一项,后面的每一项用它与前一项的差值来代替;处理之后的序列为:文档ID差值序列:(doc1,doc2-doc1,doc3-doc2...,docn-docn-1);—个文件中位置差值序列:(p1,p2-p1,p3-p2...,pn-pn-1)。
优选地:当搜索引擎抓取到一定数量的网页本地文本库之后,对抓取的文本文件进行预处理,然后按以下过程建立索引:
步骤l.对抓取到的文本进行分词,然后将分词后的文件存放到HDFS的各个DataNode中;
步骤2.创建一个MapReduce的作业处理器,负责控制建立作业的执行;
步骤3.作业处理器创建map任务,map任务运行在DataNode上,每个分块中的文档分别进行处理,产生中间文件;
步骤4.map任务执行完后,多个reduce任务开始执行,将map任务产生的中间文件合并,生成索引文件;
步骤5.根据检索词的频率属性和在词库中的词频排序,采用以下散列函数,将不同的检索词的索引保存到不同文件;
其中,通过散列函数将每一个高频词的索引信息映射到独立的文件中,进一步包括:
将散列函数表示为SHA1(f(r)),将低频词的频率排序作为函数的输入,输出保存该词索引的文件名;r是该检索词在词库中词频排序,f(r)将多个检索词根据词频排序映射到一个正整数值,表达为:
f ( r ) = r - r % ( 10 * &alpha; ) N < r &le; 10 N r - r % ( 20 * &alpha; ) 10 N < r &le; 50 N r - r % ( 40 * &alpha; ) 50 N < r
N是一个阈值,表示在词库中,排序大于N的检索词属于低频词,排序小于或等于N的词是高频词,α为预定义正实数参数。
本发明相比现有技术,具有以下优点:
本发明提出了一种基于云计算的数据搜索方法,利用搜索词的特征表示理解用户意图,并通过改进的索引机制提高了搜索引擎的效率,增强了用户体验。
附图说明
图1是根据本发明实施例的基于云计算的数据搜索方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种基于云计算的数据搜索方法。图1是根据本发明实施例的基于云计算的数据搜索方法流程图。
本发明根据用户输入的检索词,使用预先训练好的分类器对检索词的扩充文本进行分类,将分类结果发送给应用系统,识别检索词的属性和用户意图,获得模板和数据,再以Web应用的形式呈现到搜索引擎中。
所述应用系统包括:
代理服务器,保护内部系统端口不对外暴露,并且支持高并发、负载均衡,也有助于提高访问速度。
Web服务器:采用MVC的架构,调用各个服务,将数据进行聚集,最终与页面样式进行整合。
缓存服务器:将一些更新频率低的信息存储在缓存服务器中,而不需要反复检索数据库,缓解数据库的压力。
属性识别服务:识别出子类别及用户意图,来选择适合于用户需求的应用模板。
分领域资源库:根据不同的领域,建立自己的资源库。
数据库:采用主库和从库的结构,主库负责写入,从库负责读取,实现读写分离。另外主库之间需要同步,从库也要与主库的数据保持同步。
检索服务器:当检索是带有一定条件,或有排序的需求时,使用索引的技术来快速根据检索条件得到结果。
针对检索词的分类,本发明利用搜索引擎对检索词进行文本扩充,将检索词扩充为搜索引擎结果中的前k条摘要信息,k为扩充后的词条数,将扩充文本的分类结果作为原搜索文本的分类结果。
在检索词预处理阶段,是将检索词进行扩充,用向量的形式存储,丢弃广告、图片、Web应用等信息量较少的结果,过滤网页标签,提取前k条摘要为文本的扩充结果,然后对扩充文本进行预处理,预处理分为分词、丢弃停用词。每个摘要,即一个文档,里面包含的是特征项集合,将它用向量来表示。然后在训练阶段,根据训练集中的文本的扩充信息,进行特征选择、特征加权、建立分类器。具体包括将训练集中的检索词扩充为在检索词预处理阶段中获取到的该检索词的扩充文本。利用特征选择方法选择代表性特征项,将大数量级的特征项降维,使用本发明改进的适用于文本分类的改进逆向词频方法进行特征加权,最后使用文本分类的方法建立分类器,供测试阶段使用。在分类阶段,将待分类的检索词进行分类。具体包括先将待分类检索词扩充为扩充文本,然后利用在训练阶段提取出来的特征进行降维,用特征加权方法将特征用向量表示,最后利用训练阶段优化好的分类器对扩充信息的特征向量进行分类,得到的结果为该检索词的分类。
通过反馈训练的算法调整分类器模型。分类器判断一个文本属于哪个分类的同时,给出一个可信度,如果该值低于阈值,则判定它的可信度不高,会记录到反馈训练的数据文本集。通过大数据平台离线分析用户行为日志,获取点击量小于预定点击量阈值的Web应用对应的检索词,将这些词也记录到反馈训练的数据文本集当中。然后人工进行筛选、标注,将一部分高访问量的检索词直接放入高频词表中,下一次搜索的时候会先与高频词表中的词进行匹配,一部分作为学习反馈的最终数据。依次对比训练分类器中的向量与原分类器中向量的近似度,如果相似,就删除原分类器中的这条向量,用新向量替代,如果没有找到相似的向量,就添加到新的分类器向量中。
其中利用训练阶段优化好的分类器对扩充信息的特征向量进行文本分类,进一步分为文本向量逆向词频建立和计算近似度矩阵。本发明结合分词特性与结合领域知识的语义权值,在所有的DataNode均部署分词工具包,在分词后获得文本的检索词以及该检索词在本文档的出现次数,以统计词频,扫描领域知识库,计算出该词的位置权值和语义跨度权值,再在第一个Map阶段调用语义近似度函数进行统计。然后,在Reduce阶段计算每个词的逆向词频,将这些信息输出为第二个MapReduce的输入。在第二个Map阶段,计算语义近似度结果,如果近似度大于预设语义阈值,则返回语义权值,否则不加权,再组合所有的权值,得到最终语义权值。第二个Reduce阶段,对向量规格化处理。
对于每一个文本,只需要计算编号大于自己文本的近似度,即可计算出整个矩阵。MapReduce环境下并行化设计方案如下:
Map阶段:首先进行数据分割,将分割的数据由NameNode分配给DataNode,同时给DataNode编号,同时计算文本的近似度,当Map阶段结束后,将中间结果输出到本地作为Reduce阶段的输入;
Reduce阶段:收集每一行的数据,并且汇总输出矩阵。
然后采用优化划片的输入方式,将高维矩阵分块成小矩阵运算。Map阶段进行数据划片,根据划片偏移信息读取子矩阵A和B在本地做乘法,结果为矩阵C的一个子矩阵,输出到指定偏移位置。Reduce阶段计算矩阵C=AB。将对称矩阵通过正交相似变换表示成对称三对角矩阵。求解对称三对角矩阵的前K个最小特征向量,将对称三对角矩阵的运算最终转化为拉普拉斯矩阵与向量的相乘运算。得到矩阵的最小特征值和特征向量后,计算每个文本到某一集合的近似度。
在索引结构的改进方面,本发明的索引结构包括基本索引、增量索引、差分索引和词库。根据上述结构,采用基于词频大小和词频排序的文件存储策略,以及项中数据的压缩编码。针对上述索引结构,设计了在云平台下进行相应的索引建立、更新、删除和检索。
索引结构由运行在HDFS的NameNode上的增量索引、差分索引以及词库和运行于DataNode上的基本索引构成。基本索引由多个文档组成。文档由多个索引项构成。每个索引项包含一个检索词和多个文件列表。文件列表由文件ID和该检索词在这个文档中出现的次数和位置信息构成。文件保存在HDFS中,被分块后存储于集群中不同的DataNode。差分索引保存在HDFS的NameNode上。无效文档列表记录所有文档库中要被删除的文档ID,响应检索请求时,系统根据该列表,从检索结果中过滤掉该列表中的所有ID对应的文件。差分索引在文档库中有文件被删除时生成。到差分索引文件达到一定阈值时,系统根据该索引文件更新基本索引。增量索引运行在HDFS的各个DataNode上,用于保存新增的索引项。当文件库中有新增文件时,由该文件生成一条独立索引。独立索引用于记录一个文档中出现的所有检索词在该文档中出现的信息。当独立索引的数量到达一定的阈值,会触发合并过程,将所有独立索引合并为一个整体,即一个增量索引。当增量索引的数量达到一定阈值时,也会触发合并操作,将多个增量索引合并到基本索引中。索引结构中,将词库中的词按频率划分为高频词和低频词,对不同频率的词采用不同的方式存储在HDFS的NameNode内存中,以散列表的形式组织。对于高频词,每个词用一个独立的文件保存其索引,对于低频词,将多个检索词的表保存到同一个文件中。通过散列函数将每一个高频词的索引信息映射到独立的文件中,并将多个低频词的索引信息映射到一个文件中。检索时,根据词的频率属性,采用不同的方式进行分布式检索。
索引项的结构如下:
<wordid,docnum,<docid,freq,<p1,p2,...,pn>>,...,<docid,freq,<p1,p2,...pn>>>
Wordid表示检索词,docnum代表检索词wordid在docnum个文档中出现过。后面为docnum个Doclist,每个Doclist表示wordid在一个文件中出现的次数和位置信息。Docid代表该检索词出现的一个文件编号,freq表示检索词在这个文件中出现的次数,随后是一个长度为freq的列表,表示检索词每次出现的位置信息。
上述结构中存在两个递增的列表:
递增的文档ID号:(doc1,doc2,doc3,...,docn)。
递增的位置信息序列:(p1,p2,p3,...,pn)。
保留序列中的第一项,后面的每一项用它与前一项的差值来代替。处理之后的序列如下:
文档ID差值序列:(doc1,doc2-doc1,doc3-doc2...,docn-docn-1)。
—个文件中位置差值序列:(p1,p2-p1,p3-p2...,pn-pn-1)。
变换处理后的序列,样本空间缩小并能使用更高效的压缩方法。
当搜索引擎抓取到一定数量的网页本地文本库之后,需要建立初始索引。建立索引前,需要对抓取的文本文件进行预处理,最重要的一步即是分词处理。建立索引的基本过程描述如下:
步骤l.首先对抓取到的文本进行分词,然后将分词后的文件存放到HDFS的各个DataNode中。
步骤2.接着创建一个MapReduce的作业处理器,负责控制建立作业的执行。
步骤3.作业处理器根据情况创建map任务,map任务运行在DataNode上,每个分块中的文档分别进行处理,产生中间文件。
步骤4.map任务执行完后,多个reduce任务开始执行,将map任务产生的中间文件合并,生成索引文件。
步骤5.根据检索词的频率属性和在词库中的词频排序,采用以下散列函数,将不同的检索词的索引保存到不同文件。
所述散列函数表示为SHA1(f(r)),将低频词的频率排序作为函数的输入,输出保存该词索引的文件名。r是该检索词在词库中词频排序,f(r)将多个检索词根据词频排序映射到一个正整数值,表达为:
f ( r ) = r - r % ( 10 * &alpha; ) N < r &le; 10 N r - r % ( 20 * &alpha; ) 10 N < r &le; 50 N r - r % ( 40 * &alpha; ) 50 N < r
N是一个阈值,表示在词库中,排序大于N的检索词属于低频词,排序小于或等于N的词是高频词。其中α为预定义正实数参数。
在搜索引擎不断爬取互联网信息时,索引更新过程如下:
当文本库中的新增文本达到一定数量时,触发系统调用对文本分析生成一定数量的独立增量索引,独立增量索引保存于内存中。
当内存中的独立增量索引增加到一定数量时,触发独立增量索引合并程序,将相同检索词的多项索引合并为一项,保存到相应的增量索引文件中去。
当增量索引文件达到一定的数量,触发主文件合并程序。
其中,生成单一增量索引的操作由网络爬虫触发,对网络爬虫系统新添加的文本进行分析,生成该文本中所有检索词的项。该操作以MapReduce的方式运行在HDFS中的不同DataNode上,尽量满足数据本地化,生成的单一增量索引分布在不同的DataNode上。增量索引合并操作由生成单一增量索引的操作触发。当一个DataNode内存上的数据达到阈值,该操作会将单一增量索引合并到HDFS中的增量索引文件。检索词与增量索引文件名的映射关系同样由上述散列函数来完成。增量索引与基本索引的合并操作由单一增量索引和增量索引合并操作触发。
本发明进行信息删除的策略是基于差分索引的。增量索引合并时触发删除操作的阈值P1定义如下:
P1=N1/N2
N1表示增量索引含有的被删除文档个数,N2为差分索引中无效文档列表中元素个数。
增量索引与基本索引的合并时触发删除操作的阈值P2定义如下:
P2=N1/N3
N1同样是差分索引中无效文档列表中元素个数。N3是文档集中所有文档数。
当增量索引合并操作发生时,先判断是否达到阈值P1。如果达到,首先从差分索引文件中读取所有的差分索引,将增量索引中所有包含这些差分索引的信息删除,然后再合并到基本索引。如果没有达到阈值,就直接合并到基本索引。合并到基本索引以后,再判断是否达到阈值P2。如果达到,就将基本索引信息中删除所有差分索引中的信息。
这样,系统响应检索请求时,先从基本索引和增量索引信息获取检索结果,再根据删除文档中的无效文档列表过滤掉已经被删除了的文档信息。当某个时间段的差分索引用来更新了增量索引和基本索引中的所有信息后,就将该时间段的差分索引从文件中删掉并将该事件段删除的所有文档ID从无效文档列表中删除。
索引的检索是搜索引擎系统响应检索请求的关键操作。搜索引擎收到检索请求后,对输入的检索词信息进行分析处理,然后用处理后的检索词来对索引进行检索。操作步骤描述如下:
步骤l.用检索词检索词库。先根据散列函数获取到该检索词基本信息在内存中的位置,然后读取到基本信息。判断词库中基本信息的高低频字段。如果是高频词,转到步骤2,如果是低频词,则转到步骤3。
步骤2.调用散列函数将检索词作为输入,得到保存该检索词索引的文件名。
步骤3.调用散列函数,将检索词的词频排序信息作为函数输入,得到保存该检索词索引的文件名。
步骤4.根据得到的HDFS的文件名,对基本索引进行检索。首先创建任务管理器,执行MapReduce任务,在系统的各个DataNode上分别运行一定数量的Map任务和Reduce任务。Map任务处理文件在本地的分块数据,从中获取到数据项,保存为中间数据。然后传递给Reduce任务进行合并处理。Reduce任务的输出即为检索的初始结果。
步骤5.用与步骤4相同的方法,对增量索引文件进行MapReduce检索,查到的结果与上一步得到的初始结果合并。
步骤6.从内存中检索独立增量索引,检索结果与上一步得到的结果合并。
步骤7.检索NameNode中的差分索引,根据无效文档列表,对上一步得到的结果进行过滤处理。
步骤8.将得到的所有文档列表通过预定义算法进行排序。
步骤9.返回排序后的结果。
综上所述,本发明提出了一种基于云计算的数据搜索方法,利用搜索词的特征表示理解用户意图,并通过改进的索引机制提高了搜索引擎的效率,增强了用户体验。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (3)

1.一种基于云计算的数据搜索方法,其特征在于,包括:
将多个文档组成基本索引,运行于HDFS的DataNode上;
在HDFS的NameNode上建立增量索引和差分索引,分别用于保存新增的索引项和待删除索引项;
根据预定义策略对索引项数据进行压缩编码。
2.根据权利要求1所述的方法,其特征在于,所述文档由多个索引项构成,每个索引项包含一个检索词和多个文件列表,文件列表由文件ID和该检索词在这个文档中出现的次数和位置信息构成,基本索引文件保存在HDFS中,被分块后存储于集群中不同的DataNode;差分索引包括无效文档列表,记录所有文档库中要被删除的文档ID,响应检索请求时,根据该列表从检索结果中过滤掉该列表中的所有ID对应的文件;差分索引在文档库中有文件被删除时生成,当差分索引文件达到一定阈值时,系统根据该差分索引文件更新基本索引;当文件库中有新增文件时,由该文件生成一条独立增量索引,独立索引用于记录一个文档中出现的所有检索词在该文档中出现的信息;当独立索引的数量到达一定的阈值,触发合并过程,将所有独立索引合并为一个整体,即一个增量索引;当增量索引的数量达到一定阈值时,触发合并操作将多个增量索引合并到基本索引中;索引结构中,将词库中的词按频率划分为高频词和低频词,对不同频率的词采用不同的方式存储在NameNode内存中,以散列表的形式组织;对于高频词,每个词用一个独立的文件保存其索引,对于低频词,将多个检索词的表保存到同一个文件中;通过散列函数将每一个高频词的索引信息映射到独立的文件中,并将多个低频词的索引信息映射到一个文件中;检索时根据词的频率属性,采用不同的方式进行分布式检索;
设置索引项的结构如下:
<wordid,docnum,<docid,freq,<p1,p2,...,pn>>,...,<docid,freq,<p1,p2,...pn>>>
Wordid表示检索词,docnum代表检索词wordid在docnum个文档中出现过;后面为docnum个Doclist,每个Doclist表示wordid在一个文件中出现的次数和位置信息;Docid代表该检索词出现的一个文件编号,freq表示检索词在这个文件中出现的次数,随后是一个长度为freq的列表,表示检索词每次出现的位置信息;
上述结构中存在两个递增的列表:递增的文档ID号:(doc1,doc2,doc3,...,docn);递增的位置信息序列:(p1,p2,p3,...,pn);保留序列中的第一项,后面的每一项用它与前一项的差值来代替;处理之后的序列为:文档ID差值序列:(doc1,doc2-doc1,doc3-doc2...,docn-docn-1);—个文件中位置差值序列:(p1,p2-p1,p3-p2...,pn-pn-1)。
3.根据权利要求2所述的方法,其特征在于,还包括:当搜索引擎抓取到一定数量的网页本地文本库之后,对抓取的文本文件进行预处理,然后按以下过程建立索引:
步骤l.对抓取到的文本进行分词,然后将分词后的文件存放到HDFS的各个DataNode中;
步骤2.创建一个MapReduce的作业处理器,负责控制建立作业的执行;
步骤3.作业处理器创建map任务,map任务运行在DataNode上,每个分块中的文档分别进行处理,产生中间文件;
步骤4.map任务执行完后,多个reduce任务开始执行,将map任务产生的中间文件合并,生成索引文件;
步骤5.根据检索词的频率属性和在词库中的词频排序,采用以下散列函数,将不同的检索词的索引保存到不同文件;
其中,通过散列函数将每一个高频词的索引信息映射到独立的文件中,进一步包括:
将散列函数表示为SHA1(f(r)),将低频词的频率排序作为函数的输入,输出保存该词索引的文件名;r是该检索词在词库中词频排序,f(r)将多个检索词根据词频排序映射到一个正整数值,表达为:
f ( r ) = r - r % ( 10 * &alpha; ) N < r &le; 10 N r - r % ( 20 * &alpha; ) 10 N < r &le; 50 N r - r % ( 40 * &alpha; ) 50 N < r
N是一个阈值,表示在词库中,排序大于N的检索词属于低频词,排序小于或等于N的词是高频词,α为预定义正实数参数。
CN201610600312.5A 2016-07-27 2016-07-27 基于云计算的数据搜索方法 Pending CN106202552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610600312.5A CN106202552A (zh) 2016-07-27 2016-07-27 基于云计算的数据搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610600312.5A CN106202552A (zh) 2016-07-27 2016-07-27 基于云计算的数据搜索方法

Publications (1)

Publication Number Publication Date
CN106202552A true CN106202552A (zh) 2016-12-07

Family

ID=57495300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610600312.5A Pending CN106202552A (zh) 2016-07-27 2016-07-27 基于云计算的数据搜索方法

Country Status (1)

Country Link
CN (1) CN106202552A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682223A (zh) * 2017-01-04 2017-05-17 上海智臻智能网络科技股份有限公司 数据有效性检测方法及装置、智能交互方法及装置
CN107220354A (zh) * 2017-06-01 2017-09-29 苏州远略知识产权运营有限公司 一种大数据检索方法
CN108614843A (zh) * 2016-12-13 2018-10-02 北京国双科技有限公司 网站内容的评估方法及装置
CN108846121A (zh) * 2018-06-27 2018-11-20 中国建设银行股份有限公司 一种数据搜索方法和装置
CN109063222A (zh) * 2018-11-04 2018-12-21 吉铁磊 一种基于大数据的自适应数据搜索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
代万能: "倒排索引技术在Hadoop平台上的研究与实现", 《中国优秀硕士学位论文全文数据库》 *
吴鹏: "基于Hadoop的领域知识库自动构建关键技术研究", 《中国优秀硕士学位论文全文数据库》 *
高扬: "短文本分类在搜索引擎中的研究与应用", 《中国优秀硕士学位论文全文数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614843A (zh) * 2016-12-13 2018-10-02 北京国双科技有限公司 网站内容的评估方法及装置
CN108614843B (zh) * 2016-12-13 2021-01-22 北京国双科技有限公司 网站内容的评估方法及装置
CN106682223A (zh) * 2017-01-04 2017-05-17 上海智臻智能网络科技股份有限公司 数据有效性检测方法及装置、智能交互方法及装置
CN107220354A (zh) * 2017-06-01 2017-09-29 苏州远略知识产权运营有限公司 一种大数据检索方法
CN108846121A (zh) * 2018-06-27 2018-11-20 中国建设银行股份有限公司 一种数据搜索方法和装置
CN109063222A (zh) * 2018-11-04 2018-12-21 吉铁磊 一种基于大数据的自适应数据搜索方法
CN109063222B (zh) * 2018-11-04 2021-11-30 朗威寰球(北京)科技集团有限公司 一种基于大数据的自适应数据搜索方法

Similar Documents

Publication Publication Date Title
CN106156357A (zh) 文本数据定向搜索方法
CN106021626A (zh) 基于数据挖掘的数据搜索方法
US20070294223A1 (en) Text Categorization Using External Knowledge
US8108204B2 (en) Text categorization using external knowledge
US9305100B2 (en) Object oriented data and metadata based search
CN106202552A (zh) 基于云计算的数据搜索方法
CN107729336A (zh) 数据处理方法、设备及系统
US20110264997A1 (en) Scalable Incremental Semantic Entity and Relatedness Extraction from Unstructured Text
KR20130095171A (ko) 포렌식 시스템과 포렌식 방법 및 포렌식 프로그램
CN107844493B (zh) 一种文件关联方法及系统
KR101174057B1 (ko) 인덱스 분석장치와 인덱스 검색장치 및 그 방법
Wu et al. Efficient near-duplicate detection for q&a forum
Staar et al. Corpus processing service: a knowledge graph platform to perform deep data exploration on corpora
US20120239657A1 (en) Category classification processing device and method
Chopra et al. A survey on improving the efficiency of different web structure mining algorithms
Huang et al. Design a batched information retrieval system based on a concept-lattice-like structure
US10671810B2 (en) Citation explanations
KR20090097971A (ko) 특허 검색 시스템 및 검색 방법
JP2007041700A (ja) トピック抽出装置、トピック抽出方法、トピック抽出プログラム、および、記憶媒体
Moumtzidou et al. Discovery of environmental nodes in the web
Lydia et al. Indexing documents with reliable indexing techniques using Apache Lucene in Hadoop
Lincheng A large-scale full-text search engine using DotLuence
Grace et al. Efficiency calculation of mined web navigational patterns
AU2013214496A1 (en) A Search Method
Damiani et al. The Appro XML Tool Demonstration

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

Application publication date: 20161207

RJ01 Rejection of invention patent application after publication