CN111639099A - 全文索引方法及系统 - Google Patents
全文索引方法及系统 Download PDFInfo
- Publication number
- CN111639099A CN111639099A CN202010519136.9A CN202010519136A CN111639099A CN 111639099 A CN111639099 A CN 111639099A CN 202010519136 A CN202010519136 A CN 202010519136A CN 111639099 A CN111639099 A CN 111639099A
- Authority
- CN
- China
- Prior art keywords
- phrase
- hash value
- query
- full
- text
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000011218 segmentation Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/24—Querying
- G06F16/245—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/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/2255—Hash tables
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种全文索引方法及系统。其中,方法包括:获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值;根据各查询词组的哈希值查询HBase集群中存储的词组‑哈希值对,获取全文索引结果。本发明实施例提供的全文索引方法及系统,通过查询关键字进行分词,获取各查询词组及每一查询词组的哈希值,根据各查询词组的哈希值查询HBase集群中存储的词组‑哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组‑哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种全文索引方法及系统。
背景技术
近年来,随着智能手机以及社交网络的发展,移动互联网上的文本信息呈爆炸性增长。为了能从这些海量文本中分析出有效信息,往往需要将文本内容同结构化数据进行索引并保存到数据库中,用于提供更全面的全文检索服务。
全文索引方面,目前比较流行的的方案是采用Solr或者Elasticsearch。其中,Solr在数据索引过程中对查询会有一定的影响,用户体验极差;Elasticsearch对于机器内存的要求较高,无法自动切分索引,无法使用最小的资源索引大规模的数据。
因此,现有方法在硬件受限的情况下在海量文本中进行全文索引的效率较低。
发明内容
本发明实施例提供一种全文索引方法及系统,用以解决或者至少部分地解决现有技术存在的在硬件受限的情况下在海量文本中进行全文索引的效率较低的缺陷。
第一方面,本发明实施例提供一种全文索引方法,包括:
获取查询关键字,对所述查询关键字进行分词,获取各查询词组及每一所述查询词组的哈希值;
根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
优选地,所述根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果之前,还包括:
对于每一待入库文档,对所述待入库文档进行分词,获得各词组;
获取各所述词组的哈希值,将各所述词组和所述词组的哈希值组成的词组-哈希值对存储至所述HBase集群中。
优选地,所述根据所述各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果的具体步骤包括:
根据每一所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取所述查询词组所在的文档;
根据各所述查询词组所在的文档,确定所述全文索引结果。
优选地,所述对于每一待入库文档,对所述待入库文档进行分词,获得各词组之前,还包括:
扫描文本文件目录,确定新增的各文档文件,生成新增文档列表;
遍历所述新增文档列表,获取所述新增的各文档文件,作为各所述待入库文档。
优选地,所述根据每一所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取所述查询词组所在的文档的具体步骤包括:
对于任一所述查询词组,根据所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,确定所述查询词组对应的词组-哈希值对,将所述查询词组对应的词组-哈希值对所在的文档,确定为所述查询词组所在的文档;
其中,所述查询词组对应的词组-哈希值对,为哈希值与所述查询词组的哈希值相同的词组-哈希值对。
第二方面,本发明实施例提供一种全文索引系统,包括:
查询处理器,用于获取查询关键字,对所述查询关键字进行分词,获取各查询词组及每一所述查询词组的哈希值;根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果;
HBase集群,用于存储各文档中的词组-哈希值对。
优选地,全文索引系统还包括:
分词处理器,用于对于每一待入库文档,对所述待入库文档进行分词,获得各词组;获取各所述词组的哈希值,将各所述词组和所述词组的哈希值组成的词组-哈希值对存储至所述HBase集群中。
优选地,所述HBase集群包括若干个HBase节点。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,执行所述程序时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的全文索引方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的全文索引方法的步骤。
本发明实施例提供的全文索引方法及系统,通过查询关键字进行分词,获取各查询词组及每一查询词组的哈希值,根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的全文索引方法的流程示意图;
图2为根据本发明实施例提供的全文索引系统的结构示意图;
图3为根据本发明实施例提供的全文索引系统的结构示意图;
图4为根据本发明实施例提供的全文索引系统中分词处理器的工作流程示意图;
图5为根据本发明实施例提供的全文索引系统中查询处理器的工作流程示意图;
图6为根据本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术的上述问题,本发明实施例提供一种全文索引方法及系统,其发明构思是,根据词组的哈希值,在分布式存储系统HBase中进行查询,实现全文索引,提高了文本索引的效率:一方面提高了全文搜索的查询性能,另一方面可以根据性能要求水平扩展。
图1为根据本发明实施例提供的全文索引方法的流程示意图。如图1所示,该方法包括:步骤S101、获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值。
需要说明的是,本发明实施例提供的全文索引方法的执行主体为全文索引系统。
具体地,用户可以通过客户端输入用于进行全文索引的查询关键字,客户端将上述查询关键字发送至全文索引系统。
查询关键字,可以包括一个或多个字。
全文索引系统接收到查询关键字发之后,可以通过任一种分词方法对查询关键字进行分词,获得若干个查询词组。
若干个,指一个或多个。
对于每一个查询词组,计算该查询词组的哈希(hash)值。
步骤S102、根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
需要说明的是,通常的全文索引系统中存储的是词组的频率和位置信息(指在哪篇文档中及在文档中的位置)。而本发明实施例中,全文索引系统中存储的是每一词组-哈希值对、该词组的频率及位置信息。
词组-哈希值对,由词组和该词组的哈希值构成。
全文索引系统,采用HBase集群存储词组-哈希值对及该词组的位置信息。
HBase是一种基于hadoop的分布式列式数据库,是一个分布式的、面向列的开源数据库。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。Hbase是一种NoSQL数据库,它不像传统的RDBMS数据库那样支持SQL作为查询语言。
根据各查询词组的哈希值,在HBase集群中进行查询,查找到哈希值与查询词组的哈希值相同的词组-哈希值对,从而可以根据查找到的词组-哈希值对中词组的位置信息,获取全文索引结果。
需要说明的是,基于Hbase技术,可以根据各查询词组的哈希值进行批量查询,从而减少了查询时间,提高了查询效率。
可以理解的是,根据哈希值可以进行精确查询,对于硬件的要求较低,能快速获得查询结果。
优选地,本发明实施例提供的全文索引方法,用于进行中文文档的全文索引。
本发明实施例对于硬件的要求较低,能够在硬件受限的情况下快速处理海量文本,而且查询性能高于Solr和Elasticsearch。
本发明实施例通过查询关键字进行分词,获取各查询词组及每一查询词组的哈希值,根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
基于上述各实施例的内容,根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果之前,还包括:对于每一待入库文档,对待入库文档进行分词,获得各词组。
具体地,对于每一待入库文档,可以通过任一种分词方法对该文档进行分词,获得各词组。
需要说明的是,对待入库文档进行分词所采用的分词方法,与对查询关键字进行分词所采用的分词方法相同。
获取各词组的哈希值,将各词组和词组的哈希值组成的词组-哈希值对存储至HBase集群中。
具体地,对于将待入库文档进行分词获得的每一词组,计算该词组的哈希值,将该词组与该词组的哈希值组成一个词组-哈希值对。
将每一词组-哈希值对及该词组的频率和位置信息存储于HBase集群中,以便进行全文索引。
本发明实施例通过对待入库文档进行分词,获得各词组,获取各词组的哈希值,将各词组和词组的哈希值组成的词组-哈希值对存储至HBase集群中,从而能实现基于词组的哈希值的查询,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
基于上述各实施例的内容,根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果的具体步骤包括:根据每一查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取查询词组所在的文档。
具体地,对于每一查询词组,根据该查询词组的哈希值查询HBase集群中存储的词组-哈希值对,判断该查询词组的哈希值与每一词组-哈希值对中的哈希值是否相同,从而可以进行精确查询,查找到哈希值与查询词组的哈希值相同的词组-哈希值对,根据查找到的词组-哈希值对中词组的位置信息,获取该查询词组所在的文档。
根据各查询词组所在的文档,确定全文索引结果。
可以理解的是,同一词组可能出现在多个文档中。因此,可以获取每一查询词组所在的文档的集合的交集,作为全文索引结果;若交集为空,在可以统计文档在各查询词组所在的文档的集合中出现的次数,将各查询词组所在的文档作为全文索引结果,并可以按照出现的次数从多到少进行排序。
进一步地,查询关键字可以包含查询词组的逻辑关系。查询词组的逻辑关系可以为与、或、非三种逻辑关系及其组合。因此,可以根据查询词组的逻辑关系,对各查询词组所在的文档的集合进行相应的逻辑运算(例如交集、并集、补集及其组合),获得全文索引结果。
本发明实施例根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。
基于上述各实施例的内容,对于每一待入库文档,对待入库文档进行分词,获得各词组之前,还包括:扫描文本文件目录,确定新增的各文档文件,生成新增文档列表。
需要说明的是,由于移动互联网中存在海量文本,本发明实施例提供的全文索引方法,尤其适用于对移动互联网中的海量文本进行全文索引。
具体地,移动互联网可以通过单向光闸,将多个文本文档发送至全文索引系统。
图片文字识别系统将接收的多个文本文档置于文本文件目录中。可以通过定期或根据扫描指令扫描文本文件目录,确定新增了哪个或哪些文档文件。
根据新增的各文档文件,可以生成存储有文档文件的文件名及url的新增文档列表。
遍历新增文档列表,获取新增的各文档文件,作为各待入库文档。
具体地,遍历文件列表,进行文本数据解析,根据新增文档列表中各文档文件的url可以获取新增的各文档文件,将新增的每一文档文件均作为一个待入库文档。
本发明实施例通过扫描文本文件目录,确定新增的各文档文件,获取新增的各文档文件,作为各待入库文档,能更快速地从移动互联网等数据源获取新增文档,从而能更快地将新增文档中的词组及其哈希值存储于HBase集群中,更新更及时。
基于上述各实施例的内容,根据每一查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取查询词组所在的文档的具体步骤包括:对于任一查询词组,根据查询词组的哈希值查询HBase集群中存储的词组-哈希值对,确定查询词组对应的词组-哈希值对,将查询词组对应的词组-哈希值对所在的文档,确定为查询词组所在的文档。
其中,查询词组对应的词组-哈希值对,为哈希值与查询词组的哈希值相同的词组-哈希值对。
具体地,对于每一查询词组,根据该查询词组的哈希值查询HBase集群中存储的词组-哈希值对,判断该查询词组的哈希值与每一词组-哈希值对中的哈希值是否相同。
若相同,则将该词组-哈希值对,确定为该查询词组对应的词组-哈希值对。
查询词组的哈希值与词组-哈希值对中的哈希值相同,说明该查询词组与该词组-哈希值对中的词组相同,因此,查询词组对应的词组-哈希值对所在的文档,即为查询词组所在的文档。
本发明实施例根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。
图2为根据本发明实施例提供的全文索引系统的结构示意图。基于上述各实施例的内容,如图2所示,该系统包括查询处理器201和HBase集群202,其中:
查询处理器201,用于获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值;根据各查询词组的哈希值查询HBase集群202中存储的词组-哈希值对,获取全文索引结果;
HBase集群202,用于存储各文档中的词组-哈希值对。
具体地,查询处理器201与HBase集群202电连接。
查询处理器201接收到用于进行全文索引的查询关键字之后,可以通过任一种分词方法对查询关键字进行分词,获得若干个查询词组;对于每一个查询词组,计算该查询词组的哈希值。
若干个,指一个或多个。
HBase集群202存储每一词组-哈希值对、该词组的频率及位置信息。
查询处理器201根据各查询词组的哈希值,在HBase集群中进行查询,查找到哈希值与查询词组的哈希值相同的词组-哈希值对,从而可以根据查找到的词组-哈希值对中词组的位置信息,获取全文索引结果。
本发明实施例提供的全文索引系统,用于执行本发明上述各实施例提供的全文索引方法,该全文索引系统包括的各模块实现相应功能的具体方法和流程详见上述全文索引方法的实施例,此处不再赘述。
该全文索引系统用于前述各实施例的全文索引方法。因此,在前述各实施例中的全文索引方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。
本发明实施例通过查询关键字进行分词,获取各查询词组及每一查询词组的哈希值,根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
图3为根据本发明实施例提供的全文索引系统的结构示意图。基于上述各实施例的内容,如图3所示,全文索引系统还包括:分词处理器203,用于对于每一待入库文档,对待入库文档进行分词,获得各词组;获取各词组的哈希值,将各词组和词组的哈希值组成的词组-哈希值对存储至HBase集群202中。
具体地,分词处理器203与HBase集群202电连接。
分词处理器203对于每一待入库文档,可以通过任一种分词方法对该文档进行分词,获得各词组。
需要说明的是,对待入库文档进行分词所采用的分词方法,与对查询关键字进行分词所采用的分词方法相同。
分词处理器203对于将待入库文档进行分词获得的每一词组,计算该词组的哈希值,将该词组与该词组的哈希值组成一个词组-哈希值对;将每一词组-哈希值对及该词组的频率和位置信息存储于HBase集群中,以便进行全文索引。
本发明实施例通过对待入库文档进行分词,获得各词组,获取各词组的哈希值,将各词组和词组的哈希值组成的词组-哈希值对存储至HBase集群中,从而能实现基于词组的哈希值的查询,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
基于上述各实施例的内容,如图3所示,HBase集群202包括若干个HBase节点2021。
具体地,HBase集群202包括第1个HBase节点、第2个HBase节点、……、第N个HBase节点,N为自然数。每一HBase节点,均为HBase节点2021。每一HBase节点,可以是安装有HBase列式数据库的Linux服务器。
HBase集群202所包括的HBase节点2021的数量,可以根据实际情况选择,本发明实施例对此不作具体限制。
优选地,由于本发明实施例存储的是词组-哈希值对,集合HBase技术,每一HBase节点2021能存储的数据量大大增加,HBase集群202所包括的HBase节点2021的数量N满足1≤N≤10。
本发明实施例通过将各词组和词组的哈希值组成的词组-哈希值对存储至HBase集群包括的各HBase节点中,能提高文本索引的效率,能提高全文搜索的查询性能。进一步地,利用HBase集群存储词组-哈希值对,能根据性能要求水平扩展,能提高全文索引系统的可扩展性。
为了便于对本发明上述各实施例的理解,下面对图3提供的全文索引系统及其工作流程进行具体说明。
如图3所示,该全文索引系统包括查询处理器201、HBase集群202和分词处理器203。
查询处理器201包括依次电连接的第一分词模块2011,第一hash值计算模块2012和批量查询模块2013。
第一分词模块2011,用于获取查询关键字,对查询关键字进行分词,获取各查询词组。
第一hash值计算模块2012,用于计算每一查询词组的hash值。
批量查询模块2013,用于根据各查询词组的哈希值批量查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
HBase集群202包括多个HBase节点2021:第1个HBase节点、第2个HBase节点、……、第N个HBase节点。
分词处理器203包括依次电连接的第二分词模块2031,第二hash值计算模块2032和批量入库模块2033。
第二分词模块2031,用于对于每一待入库文档,对待入库文档进行分词,获得各词组,并将获得的各词组发送至第二hash值计算模块2032。
第二hash值计算模块2032,用于计算接收的每一词组的hash值,并将包括词组及词组的hash值的词组-哈希值对,及原始文本(即待入库文档)发送至批量入库模块2033。
批量入库模块2033,用于将各词组-哈希值对,及原始文本批量写入HBase集群202。
图4为根据本发明实施例提供的全文索引系统中分词处理器的工作流程示意图。
如图4所示,分词处理器201的工作流程包括:
步骤S401、第二分词模块初始化,扫描文本文件目录;
步骤S402、获取文本文件列表;
步骤S403、遍历文本文件列表,进行文本数据解析,获取各待入库文档;
步骤S404、文本分词,对每一待入库文档进行分词,获得多个词组;
步骤S405、词组hash值计算,对分词获得的每个词组计算该词组的hash值;
步骤S406、带hash值的文本信息批量入库,将词组-哈希值对,及原始文本批量入库;
步骤S407、删除文本文件,即删除文本文件目录中的各文本文件;
步骤S408、等待下一次扫描。
图5为根据本发明实施例提供的全文索引系统中查询处理器的工作流程示意图。
如图5所示,查询处理器202的工作流程包括:
步骤S501、第一分词模块初始化,http接口初始化;
步骤S502、获取查询关键字;
步骤S503、查询关键字分词,对查询关键字进行分词,获取各查询词组;
步骤S504、词组hash值计算,计算每一查询词组的hash值;
步骤S505、基于hash值批量查询,根据各查询词组的哈希值批量查询HBase集群,获取全文索引结果;
步骤S506、返回结果,即返回全文索引结果。
图6为根据本发明实施例提供的电子设备的实体结构示意图。基于上述实施例的内容,如图6所示,该电子设备可以包括:处理器(processor)601、存储器(memory)602和总线603;其中,处理器601和存储器602通过总线603完成相互间的通信;处理器601用于调用存储在存储器602中并可在处理器601上运行的计算机程序指令,以执行上述各方法实施例所提供的全文索引方法,例如包括:获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值;根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
本发明另一实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的全文索引方法,例如包括:获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值;根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
此外,上述的存储器602中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明另一实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的全文索引方法,例如包括:获取查询关键字,对查询关键字进行分词,获取各查询词组及每一查询词组的哈希值;根据各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行上述各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种全文索引方法,其特征在于,包括:
获取查询关键字,对所述查询关键字进行分词,获取各查询词组及每一所述查询词组的哈希值;
根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果。
2.根据权利要求1所述的全文索引方法,其特征在于,所述根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果之前,还包括:
对于每一待入库文档,对所述待入库文档进行分词,获得各词组;
获取各所述词组的哈希值,将各所述词组和所述词组的哈希值组成的词组-哈希值对存储至所述HBase集群中。
3.根据权利要求1所述的全文索引方法,其特征在于,所述根据所述各查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果的具体步骤包括:
根据每一所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取所述查询词组所在的文档;
根据各所述查询词组所在的文档,确定所述全文索引结果。
4.根据权利要求2所述的全文索引方法,其特征在于,所述对于每一待入库文档,对所述待入库文档进行分词,获得各词组之前,还包括:
扫描文本文件目录,确定新增的各文档文件,生成新增文档列表;
遍历所述新增文档列表,获取所述新增的各文档文件,作为各所述待入库文档。
5.根据权利要求3所述的全文索引方法,其特征在于,所述根据每一所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取所述查询词组所在的文档的具体步骤包括:
对于任一所述查询词组,根据所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,确定所述查询词组对应的词组-哈希值对,将所述查询词组对应的词组-哈希值对所在的文档,确定为所述查询词组所在的文档;
其中,所述查询词组对应的词组-哈希值对,为哈希值与所述查询词组的哈希值相同的词组-哈希值对。
6.一种全文索引系统,其特征在于,包括:
查询处理器,用于获取查询关键字,对所述查询关键字进行分词,获取各查询词组及每一所述查询词组的哈希值;根据各所述查询词组的哈希值查询HBase集群中存储的词组-哈希值对,获取全文索引结果;
HBase集群,用于存储各文档中的词组-哈希值对。
7.根据权利要求6所述的全文索引系统,其特征在于,还包括:
分词处理器,用于对于每一待入库文档,对所述待入库文档进行分词,获得各词组;获取各所述词组的哈希值,将各所述词组和所述词组的哈希值组成的词组-哈希值对存储至所述HBase集群中。
8.根据权利要求6或7所述的全文索引系统,其特征在于,所述HBase集群包括若干个HBase节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一所述的全文索引方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一所述的全文索引方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519136.9A CN111639099A (zh) | 2020-06-09 | 2020-06-09 | 全文索引方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519136.9A CN111639099A (zh) | 2020-06-09 | 2020-06-09 | 全文索引方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111639099A true CN111639099A (zh) | 2020-09-08 |
Family
ID=72333088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010519136.9A Pending CN111639099A (zh) | 2020-06-09 | 2020-06-09 | 全文索引方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639099A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704302A (zh) * | 2021-07-30 | 2021-11-26 | 济南浪潮数据技术有限公司 | 基于hash映射的海量数据检索方法、系统、终端及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195381A (ja) * | 1992-12-25 | 1994-07-15 | Mitsubishi Electric Corp | データ検索装置 |
US20070136243A1 (en) * | 2005-12-12 | 2007-06-14 | Markus Schorn | System and method for data indexing and retrieval |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN102063446A (zh) * | 2009-11-13 | 2011-05-18 | 中国移动通信集团四川有限公司 | 一种建立倒排索引的方法及倒排索引装置 |
US20110184933A1 (en) * | 2010-01-28 | 2011-07-28 | International Business Machines Corporation | Join algorithms over full text indexes |
US8027983B1 (en) * | 2007-04-10 | 2011-09-27 | Google Inc. | Enhanced query performance using fixed length hashing of multidimensional data |
US20160139819A1 (en) * | 2014-11-18 | 2016-05-19 | Fujitsu Limited | Computer-readable recording medium, encoding device and encoding method |
CN106021626A (zh) * | 2016-07-27 | 2016-10-12 | 成都四象联创科技有限公司 | 基于数据挖掘的数据搜索方法 |
CN106484694A (zh) * | 2015-08-25 | 2017-03-08 | 杭州华为数字技术有限公司 | 基于分布式数据库的全文搜索方法及系统 |
WO2018040062A1 (en) * | 2016-09-02 | 2018-03-08 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for generating phrase blacklist to prevent certain content from appearing in search result in response to search queries |
CN110765132A (zh) * | 2019-10-22 | 2020-02-07 | 北京思特奇信息技术股份有限公司 | 一种基于HBase的数据存储、检索方法及装置 |
-
2020
- 2020-06-09 CN CN202010519136.9A patent/CN111639099A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195381A (ja) * | 1992-12-25 | 1994-07-15 | Mitsubishi Electric Corp | データ検索装置 |
US20070136243A1 (en) * | 2005-12-12 | 2007-06-14 | Markus Schorn | System and method for data indexing and retrieval |
US8027983B1 (en) * | 2007-04-10 | 2011-09-27 | Google Inc. | Enhanced query performance using fixed length hashing of multidimensional data |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN102063446A (zh) * | 2009-11-13 | 2011-05-18 | 中国移动通信集团四川有限公司 | 一种建立倒排索引的方法及倒排索引装置 |
US20110184933A1 (en) * | 2010-01-28 | 2011-07-28 | International Business Machines Corporation | Join algorithms over full text indexes |
US20160139819A1 (en) * | 2014-11-18 | 2016-05-19 | Fujitsu Limited | Computer-readable recording medium, encoding device and encoding method |
CN106484694A (zh) * | 2015-08-25 | 2017-03-08 | 杭州华为数字技术有限公司 | 基于分布式数据库的全文搜索方法及系统 |
CN106021626A (zh) * | 2016-07-27 | 2016-10-12 | 成都四象联创科技有限公司 | 基于数据挖掘的数据搜索方法 |
WO2018040062A1 (en) * | 2016-09-02 | 2018-03-08 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for generating phrase blacklist to prevent certain content from appearing in search result in response to search queries |
CN110765132A (zh) * | 2019-10-22 | 2020-02-07 | 北京思特奇信息技术股份有限公司 | 一种基于HBase的数据存储、检索方法及装置 |
Non-Patent Citations (3)
Title |
---|
吐尔洪・吾司曼等: "维、哈、柯多语种搜索引擎中索引器的研究", 新疆大学学报(自然科学版) * |
吴亮等: "基于关键词筛选分词算法的企业级搜索引擎", 《微型电脑应用》, no. 07 * |
吴雨晨等: "改进的大数据检索自适应性切换搜索算法", 西安工业大学学报 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704302A (zh) * | 2021-07-30 | 2021-11-26 | 济南浪潮数据技术有限公司 | 基于hash映射的海量数据检索方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452691B2 (en) | Method and apparatus for generating search results using inverted index | |
CN107771334B (zh) | 自动的数据库模式注释 | |
CN108304444B (zh) | 信息查询方法及装置 | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
US20170212899A1 (en) | Method for searching related entities through entity co-occurrence | |
CN112115227B (zh) | 数据的查询方法、装置、电子设备及存储介质 | |
CN113326420B (zh) | 问题检索方法、装置、电子设备和介质 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN112883030A (zh) | 数据收集方法、装置、计算机设备和存储介质 | |
CN112100396A (zh) | 一种数据处理方法和装置 | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
WO2020006488A1 (en) | Corpus generating method and apparatus, and human-machine interaction processing method and apparatus | |
US20230087460A1 (en) | Preventing the distribution of forbidden network content using automatic variant detection | |
CN114090735A (zh) | 一种文本匹配方法、装置、设备及存储介质 | |
CN111435406A (zh) | 一种纠正数据库语句拼写错误的方法和装置 | |
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN109918661B (zh) | 同义词获取方法及装置 | |
CN111639099A (zh) | 全文索引方法及系统 | |
CN110008407B (zh) | 一种信息检索方法及装置 | |
CN108776705B (zh) | 一种文本全文精确查询的方法、装置、设备及可读介质 | |
CN103530345A (zh) | 短文本特征扩展及拟合特征库构建方法、装置 | |
CN113468529B (zh) | 一种数据搜索方法和装置 | |
CN115328898A (zh) | 一种数据处理方法、装置、电子设备及介质 | |
CN107220249B (zh) | 基于分类的全文搜索 | |
CN112926297A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200908 |