CN111753045A - 一种基于Elasticsearch的Hive二级全文索引技术方法及系统 - Google Patents
一种基于Elasticsearch的Hive二级全文索引技术方法及系统 Download PDFInfo
- Publication number
- CN111753045A CN111753045A CN202010616559.2A CN202010616559A CN111753045A CN 111753045 A CN111753045 A CN 111753045A CN 202010616559 A CN202010616559 A CN 202010616559A CN 111753045 A CN111753045 A CN 111753045A
- Authority
- CN
- China
- Prior art keywords
- module
- full
- index
- hive
- original
- 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 32
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000010195 expression analysis Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Elasticsearch的Hive二级全文索引技术方法及系统,属于数据全文索引技术领域;所述的方法具体步骤包括:S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;S3使用全文索引条件查询原始表;S4删除全文索引;S5删除原始表;本二级全文索引方案可达到其发明目的所阐述的效果,可应用于全文索引需求较强的场景,如日志存储系统、个人信息融合系统等;基于事务日志技术确保原始表和索引表的数据强一致性,可使其更加可靠。同时Hive和ES均为高可用系统,使之在整体上高可用;同时这一技术方法也将Hadoop生态和Elastic软件栈进行深度融合,这一是较大突破。
Description
技术领域
本发明公开一种基于Elasticsearch的Hive二级全文索引技术方法及系统,涉及数据全文索引技术领域。
背景技术
Hive on Elasticsearch(Elasticsearch简写为ES)插件是由elastic 公司研发的,实现了hive external storage handler机制的插件。加载该插件后,hive的存储数据源不仅仅是hdfs,也可以是Elasticsearch等外部存储引擎;
通过Hive可以间接对Elasticsearch引擎进行增删查改操作:
1)可以CREATE、DROP TABLE语句可以创建、删除Elasticsearch引擎的表;
2)通过INSERT、UPDATE、DELETE、SELECT语句可对Elasticsearch引擎表进行相应操作;
现有的全文检索基础覆盖需求场景较为狭小,在对大量数据进行索引操作时不易保持数据的一致性,故现发明一种基于Elasticsearch的Hive二级全文索引技术方法及系统以解决上述问题。
发明内容
本发明针对现有技术的问题,提供一种基于Elasticsearch的Hive二级全文索引技术方法及系统,所采用的技术方案为:
一种基于Elasticsearch的Hive二级全文索引技术方法,所述的方法具体步骤包括:
S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
S3使用全文索引条件查询原始表;
S4删除全文索引;
S5删除原始表。
所述S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表的具体步骤包括:
S101增加DDL关键字FULL;
S102对CREATE FULL INDEX进行语句扫描、词法分析和语法检查
S103检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表。
所述S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作的具体步骤包括:
S201记录本次操作的事务日志;
S202 INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回S201;
S203 INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务。
所述S3使用全文索引条件查询原始表的具体步骤包括:
S301将Hive driver语法解析成抽象语法树;
S302获取语法树查询表达式子句、解析restful查询部分;
S303通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
S304利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
S305利用Hive driver将结果集映射为关系表并返回给用户。
所述S4删除全文索引具体步骤包括:
S401删除Hive中INDEX元数据;
S402删除ES引擎中对应的索引表。
所述S5删除原始表具体步骤包括:
S501若原始表相关的INDEX存在,删除INDEX后删除原始表;
S502若原始表相关的INDEX不存在,直接删除原始表。
一种基于Elasticsearch的Hive二级全文索引技术系统,所述系统包括创建模块、操作模块、查询模块、删除模块和处理模块:
创建模块:通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
操作模块:将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
查询模块:使用全文索引条件查询原始表;
删除模块:删除全文索引;
处理模块:删除原始表。
所述创建模块具体包括编辑模块、检查模块和建立模块:
编辑模块:增加DDL关键字FULL;
检查模块:CREATE FULL INDEX进行语句扫描、词法分析和语法检查
建立模块:检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表。
所述操作模块具体包括记录模块、原始表操作模块和索引表操作模块:
记录模块:记录本次操作的事务日志;
原始表操作模块:INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回记录模块;
索引表操作模块:INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务。
所述查询模块具体包括第一解析模块、第二解析模块、restful创建模块、返回结果查询模块和结果映射模块:
第一解析模块:将Hive driver语法解析成抽象语法树;
第二解析模块:法树查询表达式子句、解析restful查询部分;
restful创建模块:通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
返回结果查询模块:利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
结果映射模块:利用Hive driver将结果集映射为关系表并返回给用户。
所述删除模块包括元数据清除模块和索引表清除模块:
元数据清除模块:删除Hive中INDEX元数据;
索引表清除模块:删除ES引擎中对应的索引表。
本发明的有益效果为:本方法的发明目的是提出一种基于Elasticsearch 的Hive二级全文索引技术方法及系统,该方法是对Hive的索引类型做扩充。它增加全文索引功能,扩展Hive索引的使用场景,解决了全文索引需求场景的覆盖;Hive的索引其实是一张索引表(Hive的物理表),当Hive通过索引列执行查询时,首先通过一个MR/Spark/Tez引擎任务去查询索引表,根据索引列的过滤条件,查询出该索引列值对应的结果集,然后再根据结果集中去筛选原文件,作为查询任务的输入,可以避免全表扫描和资源浪费;
本发明方法应用于全文索引需求较强的场景,如日志存储系统、个人信息融合系统等;基于事务日志技术确保原始表和索引表的数据强一致性,可使其更加可靠。同时Hive和ES均为高可用系统,使之在整体上高可用;同时这一技术方法也将Hadoop生态和Elastic软件栈进行深度融合。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程图;图2是本发明系统的结构示意图;图3是 INSERT、UPDATE、DELETE的操作时序图;图4是查询的流程时序图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本方法的发明目的是提出一种基于Elasticsearch的Hive二级全文索引技术方法及系统,该方法是对Hive的索引类型做扩充。它增加了全文索引功能,扩展了Hive索引的使用场景,解决了全文索引需求场景的覆盖。
首先对涉及的部分名词进行释义:
Hive:是基于Hadoop的数据仓库工具,用来进行数据提取、转化、加载。 Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MR/Spark/Tez计算引擎任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速数据分析。
Hive UDF:是User defined Function的简写,用户自定义方法。通过该处理机制用户可自行处理相关表项数据。
ElasticSearch:Elastic公司研发,提供了一个分布式多用户能力的全文搜索引擎。基于restful web接口,是一个基于Lucene的搜索服务器。
二级索引:索引是基于原始数据列创建索引,二级索引是基于索引数据再次创建索引。在使用上可先通过二级索引查找到索引数据,再根据索引数据查找到原始数据。
全文索引:全文索引技术是搜索引擎的关键技术,通常使用倒排索引来实现。采用如下方式存储数据。EX:
ElasticSearch Server(文档1)
Mastering ElasticSearch(文档2)
Apache Solr 4 Cookbook(文档3)
实施例一:
一种基于Elasticsearch的Hive二级全文索引技术方法,所述的方法具体步骤包括:
S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
S3使用全文索引条件查询原始表;
S4删除全文索引;
S5删除原始表;
在通过本发明方法基于Elasticsearch对Hive进行二级全文索引处理时,首先按照S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表,然后按照S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作,在索引表操作数据时会生成相应的restful接口语句发送到ES引擎,接着通过S3 使用全文索引条件查询原始表,示意查询测试用例:
SELECT/*t_employee index_test*/*FROM t_employee WHERE MATCH('{“match”:{“address”,”tianjin”}}');
在使用全文索引条件进行查询时,首先会将索引条件下推到ES引擎中,在 MATCH函数(自定义Hive UDF函数)参数为真正的查询语句,此例的含义是查找addree中包含tianjin的数据行。ES中查询的结果集会通过网络传输到Hive 中,Hive会根据id列在原始表t_employee中进行查找,将最终的结果集返回给用户;
按照S4删除全文索引,最后按照S5删除原始表;
本二级全文索引方案可达到其发明目的所阐述的效果,可应用于全文索引需求较强的场景,如日志存储系统、个人信息融合系统等;基于事务日志技术确保原始表和索引表的数据强一致性,可使其更加可靠。同时Hive和ES均为高可用系统,使之在整体上高可用;同时这一技术方法也将Hadoop生态和 Elastic软件栈进行深度融合,这一是较大突破;
进一步的,所述S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表的具体步骤包括:
S101增加DDL关键字FULL;
S102对CREATE FULL INDEX进行语句扫描、词法分析和语法检查
S103检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表;
Hive Index DDL扩展:增加关键字FULL,使其在DDL语句扫描、词法分析和语法检查中生效。
其中Hive原生是支持CREATE INDEX语法的,在此基础上增加CREATE FULL INDEX语法,示意测试用例如下:
--在Hive上建立原始表t_employee ddress VARCHAR(100));
--基于原始表t_employee的address列建立全文索引index_test
CREATE FULL INDEX index_test ON t_employee(address);
此时会在ES引擎中建立索引表index_test。原始表和索引表对应的二维关系如下,t_employee原始表:
index_test索引表:
本方法是在INDEX语法上做扩充,引入关键字FULL;创建全文索引时在ES 引擎中建立一张全文索引表;Hive原始表INSERT、UPDATE、DELETE操作的同时对ES引擎表进行相同操作,确保数据一致性;
进一步的,所述S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作的具体步骤包括:
S201记录本次操作的事务日志;
S202 INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回S201;
S203 INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务;
原始表进行INSERT、UPDATE、DELETE操作时,索引表也会进行相应的操作;
在索引表操作数据时会生成相应的restful接口语句发送到ES引擎,如图 3所示;
同时通过事务日志保证两个表操作的原子性,进而保证两端数据的一致性。同时会根据ES引擎执行结果进一步判断事务成功提交或是回滚;
进一步的,所述S3使用全文索引条件查询原始表的具体步骤包括:
S301将Hive driver语法解析成抽象语法树;
S302获取语法树查询表达式子句、解析restful查询部分;
S303通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
S304利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
S305利用Hive driver将结果集映射为关系表并返回给用户;
时序图如图4所示;
抽象语法树解析:在抽象语法树中获取查询条件部分 MATCH('{“match”:{“address”,”tianjin”}}'),该查询expression为树形语法结构。通过表达式解析即可获取到MATCH函数及函数参数的内容;
领域特殊语言Builder模块,该模块创建ES引擎执行的完整语句(包括 DDL、DML及查询语句)。根据抽象语法树上获取的表达式,构造出ES引擎完整的查询语句;根据CREATEFULL INDEX的元数据信息构造出ES引擎全文索引的创建语句;根据DROP INDEX构造ES引擎的删除索引语句均是其职责范围;
进一步的,所述S4删除全文索引具体步骤包括:
S401删除Hive中INDEX元数据;
S402删除ES引擎中对应的索引表,
在删除原始表时需额外增加一步处理,即当存在与原始表关联的索引表时先删除索引表,此过程同样具有原子性处理;
再进一步的,所述S5删除原始表具体步骤包括:
S501若原始表相关的INDEX存在,删除INDEX后删除原始表;
S502若原始表相关的INDEX不存在,直接删除原始表。
实施例二:
一种基于Elasticsearch的Hive二级全文索引技术系统,所述系统包括创建模块、操作模块、查询模块、删除模块和处理模块:
创建模块:S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
操作模块:S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
查询模块:S3使用全文索引条件查询原始表;
删除模块:S4删除全文索引;
处理模块:S5删除原始表;
在通过本发明方法基于Elasticsearch对Hive进行二级全文索引处理时,首先利用创建模块通过CREATE FULL INDEX对Hive原始数据表创建全文索引表,然后通过操作模块将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作,在索引表操作数据时会生成相应的restful接口语句发送到ES引擎, 接着通过查询模块使用全文索引条件查询原始表,示意查询测试用例:
SELECT/*t_employee index_test*/*FROM t_employee WHERE MATCH('{“match”:{“address”,”tianjin”}}');
在使用全文索引条件进行查询时,首先会将索引条件下推到ES引擎中,在 MATCH函数(自定义Hive UDF函数)参数为真正的查询语句,此例的含义是查找addree中包含tianjin的数据行。ES中查询的结果集会通过网络传输到Hive 中,Hive会根据id列在原始表t_employee中进行查找,将最终的结果集返回给用户;
利用删除模块删除全文索引,最后按照处理模块删除原始表;
本二级全文索引方案可达到其发明目的所阐述的效果,可应用于全文索引需求较强的场景,如日志存储系统、个人信息融合系统等;基于事务日志技术确保原始表和索引表的数据强一致性,可使其更加可靠。同时Hive和ES均为高可用系统,使之在整体上高可用;同时这一技术方法也将Hadoop生态和 Elastic软件栈进行深度融合,这一是较大突破;
进一步的,所述创建模块具体包括编辑模块、检查模块和建立模块:
编辑模块:增加DDL关键字FULL;
检查模块:CREATE FULL INDEX进行语句扫描、词法分析和语法检查建立模块:检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表;
Hive Index DDL扩展:增加关键字FULL,使其在DDL语句扫描、词法分析和语法检查中生效。
其中Hive原生是支持CREATE INDEX语法的,在此基础上增加CREATE FULL INDEX语法,示意测试用例如下:
--在Hive上建立原始表t_employee ddress VARCHAR(100));
--基于原始表t_employee的address列建立全文索引index_test
CREATE FULL INDEX index_test ON t_employee(address);
此时会在ES引擎中建立索引表index_test。原始表和索引表对应的二维关系如下,t_employee原始表:
index_test索引表:
本方法是在INDEX语法上做扩充,引入关键字FULL;创建全文索引时在ES 引擎中建立一张全文索引表;Hive原始表INSERT、UPDATE、DELETE操作的同时对ES引擎表进行相同操作,确保数据一致性;
进一步的,所述操作模块具体包括记录模块、原始表操作模块和索引表操作模块:
记录模块:记录本次操作的事务日志;
原始表操作模块:INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回记录模块;
索引表操作模块:INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务;
原始表进行INSERT、UPDATE、DELETE操作时,索引表也会进行相应的操作;
在索引表操作数据时会生成相应的restful接口语句发送到ES引擎,如图 3所示;
同时通过事务日志保证两个表操作的原子性,进而保证两端数据的一致性。同时会根据ES引擎执行结果进一步判断事务成功提交或是回滚;
进一步的,所述查询模块具体包括第一解析模块、第二解析模块、restful 创建模块、返回结果查询模块和结果映射模块:
第一解析模块:将Hive driver语法解析成抽象语法树;
第二解析模块:法树查询表达式子句、解析restful查询部分;
restful创建模块:通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
返回结果查询模块:利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
结果映射模块:利用Hive driver将结果集映射为关系表并返回给用户;
时序图如图4所示;
抽象语法树解析:在抽象语法树中获取查询条件部分 MATCH('{“match”:{“address”,”tianjin”}}'),该查询expression为树形语法结构。通过表达式解析即可获取到MATCH函数及函数参数的内容;
领域特殊语言Builder模块,该模块创建ES引擎执行的完整语句(包括 DDL、DML及查询语句)。根据抽象语法树上获取的表达式,构造出ES引擎完整的查询语句;根据CREATEFULL INDEX的元数据信息构造出ES引擎全文索引的创建语句;根据DROP INDEX构造ES引擎的删除索引语句均是其职责范围;
再进一步的,所述删除模块包括元数据清除模块和索引表清除模块:
元数据清除模块:删除Hive中INDEX元数据;
索引表清除模块:删除ES引擎中对应的索引表;
在删除原始表时需额外增加一步处理,即当存在与原始表关联的索引表时先删除索引表,此过程同样具有原子性处理。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于Elasticsearch的Hive二级全文索引技术方法,其特征是所述的方法具体步骤包括:
S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
S3使用全文索引条件查询原始表;
S4删除全文索引;
S5删除原始表。
2.根据权利要求1所述的基于Elasticsearch的Hive二级全文索引技术方法,其特征是所述S1通过CREATE FULL INDEX对Hive原始数据表创建全文索引表的具体步骤包括:
S101增加DDL关键字FULL;
S102对CREATE FULL INDEX进行语句扫描、词法分析和语法检查
S103检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表。
3.根据权利要求2所述的基于Elasticsearch的Hive二级全文索引技术方法,其特征是所述S2将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作的具体步骤包括:
S201记录本次操作的事务日志;
S202 INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回S201;
S203 INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务。
4.根据权利要求3所述的基于Elasticsearch的Hive二级全文索引技术方法,其特征是所述S3使用全文索引条件查询原始表的具体步骤包括:
S301将Hive driver语法解析成抽象语法树;
S302获取语法树查询表达式子句、解析restful查询部分;
S303通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
S304利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
S305利用Hive driver将结果集映射为关系表并返回给用户。
5.根据权利要求4所述的基于Elasticsearch的Hive二级全文索引技术方法,其特征是所述S4删除全文索引具体步骤包括:
S401删除Hive中INDEX元数据;
S402删除ES引擎中对应的索引表。
6.一种基于Elasticsearch的Hive二级全文索引技术系统,其特征是所述系统包括创建模块、操作模块、查询模块、删除模块和处理模块:
创建模块:通过CREATE FULL INDEX对Hive原始数据表创建全文索引表;
操作模块:将原始表INSERT、UPDATE、DELETE与ES中的全文索引表同步操作;
查询模块:使用全文索引条件查询原始表;
删除模块:删除全文索引;
处理模块:删除原始表。
7.根据权利要求6所述的基于Elasticsearch的Hive二级全文索引技术系统,其特征是所述创建模块具体包括编辑模块、检查模块和建立模块:
编辑模块:增加DDL关键字FULL;
检查模块:CREATE FULL INDEX进行语句扫描、词法分析和语法检查
建立模块:检查通过后根据DDL元数据信息在ES引擎中创建对应的索引表。
8.根据权利要求7所述的基于Elasticsearch的Hive二级全文索引技术系统,其特征是所述操作模块具体包括记录模块、原始表操作模块和索引表操作模块:
记录模块:记录本次操作的事务日志;
原始表操作模块:INSERT、UPDATE、DELETE在原始表上操作,成功向下执行,失败则返回记录模块;
索引表操作模块:INSERT、UPDATE、DELETE在索引表上操作,成功执行则提交事务,失败则根据事务日志回滚事务。
9.根据权利要求8所述的基于Elasticsearch的Hive二级全文索引技术系统,其特征是所述查询模块具体包括第一解析模块、第二解析模块、restful创建模块、返回结果查询模块和结果映射模块:
第一解析模块:将Hive driver语法解析成抽象语法树;
第二解析模块:法树查询表达式子句、解析restful查询部分;
restful创建模块:通过DSLBuilder创建restful查询语句并下推至Elasticsearch引擎;
返回结果查询模块:利用Hive driver将ES引擎返回的结果集合作为原始表的RowKey集合去查询;
结果映射模块:利用Hive driver将结果集映射为关系表并返回给用户。
10.根据权利要求9所述的基于Elasticsearch的Hive二级全文索引技术系统,其特征是所述删除模块包括元数据清除模块和索引表清除模块:
元数据清除模块:删除Hive中INDEX元数据;
索引表清除模块:删除ES引擎中对应的引表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616559.2A CN111753045A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Elasticsearch的Hive二级全文索引技术方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616559.2A CN111753045A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Elasticsearch的Hive二级全文索引技术方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111753045A true CN111753045A (zh) | 2020-10-09 |
Family
ID=72676799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010616559.2A Pending CN111753045A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Elasticsearch的Hive二级全文索引技术方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753045A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434625A (zh) * | 2021-08-27 | 2021-09-24 | 中汽研(天津)汽车信息咨询有限公司 | 专利检索式的代码化方法、设备和存储介质 |
-
2020
- 2020-07-01 CN CN202010616559.2A patent/CN111753045A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434625A (zh) * | 2021-08-27 | 2021-09-24 | 中汽研(天津)汽车信息咨询有限公司 | 专利检索式的代码化方法、设备和存储介质 |
CN113434625B (zh) * | 2021-08-27 | 2021-12-07 | 中汽信息科技(天津)有限公司 | 专利检索式的代码化方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196871B (zh) | 数据入库方法和系统 | |
US7376642B2 (en) | Integrated full text search system and method | |
US8527556B2 (en) | Systems and methods to update a content store associated with a search index | |
US7293005B2 (en) | Pipelined architecture for global analysis and index building | |
US9619571B2 (en) | Method for searching related entities through entity co-occurrence | |
US20050120004A1 (en) | Systems and methods for indexing content for fast and scalable retrieval | |
CN104657439A (zh) | 用于自然语言精准检索的结构化查询语句生成系统及方法 | |
Candela et al. | Migration of a library catalogue into RDA linked open data | |
CN112231321B (zh) | 一种Oracle二级索引及索引实时同步方法 | |
KR20160124079A (ko) | 인-메모리 데이터베이스 탐색을 위한 시스템 및 방법 | |
CN104657440A (zh) | 结构化查询语句生成系统及方法 | |
US10678820B2 (en) | System and method for computerized semantic indexing and searching | |
Bellare et al. | Woo: A scalable and multi-tenant platform for continuous knowledge base synthesis | |
Konstantinou et al. | Distributed indexing of web scale datasets for the cloud | |
CN110889023A (zh) | 一种elasticsearch的分布式多功能搜索引擎 | |
CN112506964A (zh) | 数据查询方法、系统及计算机可读存储介质 | |
CN116034349A (zh) | 列式分析存储格式的半结构化数据的概率文本索引 | |
EP2463785A1 (en) | Database and search-engine query system | |
Vanier et al. | Advanced MySQL 8: Discover the full potential of MySQL and ensure high performance of your database | |
CN111753045A (zh) | 一种基于Elasticsearch的Hive二级全文索引技术方法及系统 | |
JP2021140430A (ja) | データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム | |
JP2010272006A (ja) | 関係抽出装置、関係抽出方法、及びプログラム | |
US11074401B2 (en) | Merging delta object notation documents | |
US11023674B2 (en) | Generation and application of object notation deltas | |
CN114461454A (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 |