CN101158958B - 基于MySQL存储引擎的融合查询方法 - Google Patents
基于MySQL存储引擎的融合查询方法 Download PDFInfo
- Publication number
- CN101158958B CN101158958B CN2007101561836A CN200710156183A CN101158958B CN 101158958 B CN101158958 B CN 101158958B CN 2007101561836 A CN2007101561836 A CN 2007101561836A CN 200710156183 A CN200710156183 A CN 200710156183A CN 101158958 B CN101158958 B CN 101158958B
- Authority
- CN
- China
- Prior art keywords
- full
- query
- field
- mysql
- fusion
- 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.)
- Expired - Fee Related
Links
- 230000004927 fusion Effects 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 5
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000011161 development Methods 0.000 claims description 6
- 238000011160 research Methods 0.000 abstract description 4
- 230000035800 maturation Effects 0.000 description 2
- 241000252794 Sphinx Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于MySQL存储引擎的融合查询方法。利用MySQL数据库的存储引擎插件机制,开发全文检索存储引擎,将现有全文检索系统链接到MySQL数据库中。在MySQL数据库中使用“全文检索链接表”来表示全文检索系统,用户通过标准的SQL访问“全文检索链接表”时,全文检索存储引擎自动将全文检索请求转发至全文检索系统处理。通过“全文检索链接表”与其它表示结构化信息的数据库之间的联接等SQL操作实现融合查询。利用了数据库和全文检索和现有研究和实现成果,基于已有系统可以方便快捷的提供融合查询能力,并且不依赖于一种特有的全文检索系统实现,使用者根据应用需求选择最合适的全文检索系统,提供最好的性能。
Description
技术领域
本发明涉及数据库系统、全文检索与信息提取系统技术,特别是涉及一种基于MySQL存储引擎的融合查询方法。
背景技术
数据库系统和全文检索系统是计算机信息管理中最重要的两个系统。一直以来,这两个系统的发展基本上都是相互独立的,在其发展目标的研究内容上也基本上没有交集。数据库系统主要处理高度结构化的数据,主要研究各类精确高效的处理这类数据的方法。全文检索系统及以此为基础的信息提取领域则主要处理非结构化的数据,主要研究各类查询结果排序和结果优劣的衡量方法。
随着互联网技术的发展和Web应用的复杂化、诸如博客等内容管理系统与应用的兴起,越来越多的应用迫切需要一个综合性系统能够统一处理结构化数据和非结构化数据,提供求解同时涉及这两类数据的融合查询的能力。但由于数据库与全文检索系统长期并行发展,目前尚缺乏一个成熟的融合查询解决方案。
目前如Oracle、DB2等成熟的商业数据库通过在关系数据库中引入提供全文检索功能的扩展模块来实现部分融合查询功能。一方面这一方法需要开发一个完整的全文检索系统,实施难度高,且不利于充分利用全文检索领域已有研究与实现成果。另一方面,这类过于集成的解决方案也限制了系统的灵活性,用户无法选择其它的全文检索系统,也难以调整结构化数据与非结构化数据之间的关联与同步关系,难以满足不同的应用需求。
由于数据库与全文检索系统在各自的领域都已经历经几十年的发展,积累了众多成熟的技术,因此融合查询实现应最大限度的利用两个系统已有的强大功能,而非自底向上再开发一个全新的系统。
发明内容
本发明的目的在于提供一种基于MySQL存储引擎实现融合查询的方法。
本发明解决其技术问题采用的技术方案是:
1、一种基于MySQL存储引擎和融合查询方法,该方法的步骤如下:
1)根据应用对建索引性能、查询性能和数据实时性的要求,选择一个满足融合查询需求的全文检索系统;
2)开发一个MySQL存储引擎实现MySQL与上述全文检索系统的交互;
3)分析应用主题域,确定要进行融合查询的原始数据库表或视图,确定表的标识字段和结构化与非结构化信息分量;
4)定义数据同步策略,开发“数据发布器”根据同步策略建立融合查询系统并维持融合查询系统与原始数据库表或视图的同步关系;
5)应用程序使用标准SQL访问融合查询系统MySQL,以一个系统一个接口实现纯结构化、纯非结构化和融合三类查询的求解。
2、步骤1)中选用的全文检索系统应满足以下条件:支持多个文档域,支持在一个或多个域中进行检索,现有大多数全文检索系统都满足这一需求。
步骤2)中的存储引擎只负责以下两个任务:a)将全文检索请求转发至全文检索系统;b)将全文检索系统查询结构封装为MySQL内部的关系表示形式。
4、步骤2)中开发的存储引擎需要实现MySQL存储引擎接口中的以下方法:a)实现index_read接口,转发全文检索请求到全文检索系统;b)实现index_next接口,从全文检索系统中读取下一条全文检索结果,并转化为MySQL内部的关系表示形式。
5、步骤3)的具体实施应满足如下需求:
1)要进行融合查询的数据库表或视图需满足以下条件:必须拥有一个为整数类型字段,且该字段的值能够唯一确定一条记录的字段为表或视图的标识字段,即该字段为候选码之一;
2)所有内容为字符串类型且需要进行关键字检索的字段作为表的非结构化信息分量;所有需要进行结构化查询或需要在查询结果中返回的字段作为表的结构化信息分量,结构化信息分量和非结构化信息分量可以有交集;
3)标识字段不能被更新。
6、步骤4)中的数据同步策略包含以下内容:
1)非结构化信息分量定时重建的周期与是否需要实时同步;
2)结构化信息分量定时重建的周期与是否需要实时同步。
7、步骤4)中“数据发布器”同步应用原始数据库存储与融合查询系统中数据的方法如下:
1)针对原始表或视图中的结构化信息分量,“数据发布器”在融合查询系统MySQL中建立一张对应的“数据库实体表”,该表包含原始表或视图中结构化信息分量包含的字段及标识字段;
2)针对原始表或视图中的结构化信息分量,“数据发布器”在融合查询系统MySQL中建立一张对应的“全文检索链接表”,且指定该表使用步骤2)中开发的存储引擎。“全文检索链接表”包含以下两个字段:a)原始表或视图中的标识字段;b)一个为字符串类型的全文检索字符串字段,名为Query;
3)若数据同步策略要求结构化信息分量需要定时重建,则按指定周期选取原始表或视图中的结构化信息分量包含的字段及标识字段插入到整合查询系统的“数据库实体表”中;
4)若数据同步策略要求非结构化信息分量需要定时重建,则按指定周期选择原始表或视图中的非结构化信息分量包含的字段及标识字段插入到全文检索系统中,其中标识字段用作全文检索的文档ID,非结构化信息分量包含的每个字段作为文档的一个域;
5)若数据同步策略要求结构化信息分量需要实时同步,则在原始数据库中新建一张“结构化信息实时更新日志表”,表中以下两个字段:a)一个名为ID的自动递增类型的字段;b)一个名为SQL的字符串类型的字段。同时在原始表或视图上定义一个触发器,该触发器的特征为:a)触发事件为记录插入、删除或更新操作;b)当且仅当操作涉及数据的结构化信息分量或标识字段时,触发器向“结构化信息实时更新日志表”中插入一个记录,其SQL字段的内容描述对原始表或视图的操作。“数据发布器”实时按ID升序读取“结构化信息实时更新日志表”中日志,应用到“数据库实体表”中后将这一日志从“结构化信息实时更新日志表”删除;
6)若数据同步策略要求非结构化信息分量需要实时同步,则在原始数据库中新建一张“非结构化信息实时更新日志表”,模式与“结构化信息实时更新日志表”相同。同时在原始表或视图上定义一个触发器,该触发器的触发事件和对插入与删除操作的处理与4)类似,但只在操作涉及数据的非结构化信息分量或标识字段时触发器生成日志记录。“数据发布器”实时按ID升序读取“非结构化信息实时更新日志表”中日志,根据日志内容处理后将日志从“非结构化信息实时更新日志表”中删除。
8、步骤5)中使用融合查询系统进行各类查询的方法如下:
1)不需访问非结构化信息分量包含的字段的纯结构化查询使用通用的SQL访问“数据库实体表”,由MySQL本身提供的功能处理;
2)只需在非结构化信息分量包含的字段内进行关键字检索的纯非结构化查询使用以下查询“SELECT标识字段FROM全文检索链接表WHERE Query=关键字检索条件”。全文检索存储引擎即会将这一全文检索请求转发至全文检索系统,由全文检索系统完成非结构化查询;
3)同时需要进行关键字检索和结构化查询的融合查询使用“数据库实体表”和“全文检索链接表”的联合实现,基本的查询模式为“SELECT…FROM数据库实体表INNER JOIN全文检索链接表USING标识字段WHERE全文检索链接表.Query=关键字检索条件AND数据库实体表上的其它条件”。
本发明具有的有益效果是:
充分利用了数据库和全文检索和现有研究和实现成果,基于已有系统可以非常方便快捷的提供融合查询能力,并且不依赖于一种特有的全文检索系统实现,使用者可根据应用需求选择最合适的全文检索系统,提供最好的性能。
附图说明
图1是本发明实施步骤流程图。
图2是融合查询系统工作原理示意图。
具体实施方式
现结合具体实施和示例对本发明的技术方案作进一步说明。
1、如图1与图2所示,本发明具体实施过程和工作原理如下:
1)根据应用对建索引性能、查询性能和数据实时性的要求,选择一个满足融合查询需求的全文检索系统;
2)开发一个MySQL全文检索存储引擎实现MySQL与上述步骤1)中选取的全文检索系统的交互;
3)分析应用主题域,确定要进行融合查询的原始数据库表或视图,确定表的标识字段和结构化与非结构化信息分量。结构化信息分量存储到数据库实体表中,非结构化信息分量存储到全文检索系统中,在MySQL内部以全文检索链接表表示;
4)定义数据同步策略,开发数据发布器根据同步策略建立融合查询系统并维持融合查询系统与原始数据库表或视图的同步关系。对原始数据表或视图的更新操作使用触发器插入到更新日志表中,数据发布器实时读取更新日志表内容,更新融合检索系统中的数据;
5)应用程序使用标准SQL访问融合查询系统MySQL,以一个系统一个接口实现纯结构化、纯非结构化和融合三类查询的求解。
步骤1)中选用的全文检索系统应满足以下条件:a)支持多个文档域,支持在一个或多个域中进行检索。现有大多数全文检索系统都满足这一需求,可根据具体应用需求从中选取,如:
1)若应用要求高的查询性能和数据实时性,可以选用Lucene;
2)若应用要求高的建索引性能,可以选用Sphinx;
步骤2)中的存储引擎只负责以下两个任务:a)将全文检索请求转发至全文检索系统;b)将全文检索系统查询结构封装为MySQL内部的关系表示形式;
步骤2)中开发的存储引擎需要实现MySQL存储引擎接口中的以下方法:a)实现index_read接口,转发全文检索请求到全文检索系统;b)实现index_next接口,从全文检索系统中读取下一条全文检索结果,并转化为MySQL内部的关系表示形式;
步骤3)的具体实施应满足如下需求:
1)要进行融合查询的数据库表或视图需满足以下条件:a)必须拥有一个为整数类型字段,且该字段的值能够唯一确定一条记录的字段为表或视图的标识字段,即该字段为候选码之一;
2)所有内容为字符串类型且需要进行关键字检索的字段作为表的非结构化信息分量;所有需要进行结构化查询或需要在查询结果中返回的字段作为表的结构化信息分量,结构化信息分量和非结构化信息分量可以有交集;
3)标识字段不能被更新;
以Web应用中常用的用户信息为例,设步骤3)中原始数据库表定义为User(ID(标识)、Name(用户名)、Age(年龄)、Hobby(兴趣爱好)、Online(是否在线)),其中ID为标识字段。应用要求能够根据Name、Age和Online进行结构化查询,根据Hobby进行关键字查询,则该表的结构化信息分量包含ID、Name、Age、Online这些字段,非结构化信息分量包含ID和Hobby这两个字段。
步骤4)中的数据同步策略包含以下内容:
1)非结构化信息分量定时重建的周期与是否需要实时同步;
2)结构化信息分量定时重建的周期与是否需要实时同步;
步骤4)中“数据发布器”同步应用原始数据库存储与融合查询系统中数据的方法如下:
1)针对原始表或视图中的结构化信息分量,“数据发布器”在融合查询系统MySQL中建立一张对应的“数据库实体表”,该表包含原始表或视图中结构化信息分量包含的字段及标识字段;
2)针对原始表或视图中的结构化信息分量,“数据发布器”在融合查询系统MySQL中建立一张对应的“全文检索链接表”,且指定该表使用步骤2)中开发的存储引擎。“全文检索链接表”包含以下两个字段:a)原始表或视图中的标识字段;b)一个为字符串类型的全文检索字符串字段,名为Query;
3)若数据同步策略要求结构化信息分量需要定时重建,则按指定周期选取原始表或视图中的结构化信息分量包含的字段及标识字段插入到整合查询系统的“数据库实体表”中;
4)若数据同步策略要求非结构化信息分量需要定时重建,则按指定周期选择原始表或视图中的非结构化信息分量包含的字段及标识字段插入到全文检索系统中,其中标识字段用作全文检索的文档ID,非结构化信息分量包含的每个字段作为文档的一个域;
5)若数据同步策略要求结构化信息分量需要实时同步,则在原始数据库中新建一张“结构化信息实时更新日志表”,表中以下两个字段:a)一个名为ID的自动递增类型的字段;b)一个名为SQL的字符串类型的字段。同时在原始表或视图上定义一个触发器,该触发器的特征为:a)触发事件为记录插入、删除或更新操作;b)当且仅当操作涉及数据的结构化信息分量或标识字段时,触发器向“结构化信息实时更新日志表”中插入一个记录,其SQL字段的内容描述对原始表或视图的操作。“数据发布器”实时按ID升序读取“结构化信息实时更新日志表”中日志,应用到“数据库实体表”中后将这一日志从“结构化信息实时更新日志表”删除;
6)若数据同步策略要求非结构化信息分量需要实时同步,则在原始数据库中新建一张“非结构化信息实时更新日志表”,模式与“结构化信息实时更新日志表”相同。同时在原始表或视图上定义一个触发器,该触发器的触发事件和对插入与删除操作的处理与4)类似,但只在操作涉及数据的非结构化信息分量或标识字段时触发器生成日志记录。“数据发布器”实时按ID升序读取“非结构化信息实时更新日志表”中日志,根据日志内容处理后将日志从“非结构化信息实时更新日志表”中删除;
以用户信息检索为例,步骤4)具体实施方式如下:
1)“数据库实体表”可定义为UserEntity(ID、Name、Age、Online),“全文检索链接表”可定义为UserFT(ID、Query);
2)重建结构化信息分量时只需要执行以下SQL语句:INSERT INTOUserEntity SELECT ID,Name,Age,Online FROM User。重建非结构化信息分量只需要从User表中选出ID和Hobby字段,其中ID的值作为全文检索系统的文档ID、Hobby字段内容作为全文检索文档的Hobby域插入到全文检索系统中;
3)“数据发布器”可定义“结构化信息实时更新日志表”Slog(ID,Sql),并在User表上定义触发器实现如下行为:a)对User表的INSERT操作在Slog表中产生如下日志“INSERT INTO UserEntityVALUES(@ID,@Name,@Age,@Online)”,其中@ID等为被插入记录中对应属性的值;b)对User表的UPDATE操作在Slog表中产生如下日志“UPDATEUserEntity SET Name=@Name,Age=@Age,Online=@Online WHERE ID=@ID”;c)对User表的DELETE操作在Slog表中产生如下日志“DELETE FROMUserEntity WHERE ID=@ID”;
4)“数据发布器”可定义“非结构化信息实时更新日志表”NSlog(ID,Sql),并在User表上定义触发器实现如下行为:a)对User表的INSERT操作在NSlog表中产生如下日志“INSERT INTO UserFT VALUES(@ID,@Hobby)”,其中@ID等为被插入记录中对应属性的值;b)对User表的UPDATE操作在NSlog表中产生如下两条日志“DELETE FROM UserFT WHERE ID=@ID”和“INSERT INTOUserFT VALUES(@ID,@Hobby)”;c)对User表的DELETE操作在NSlog表中产生如下日志“DELETE FROM UserFT WHERE ID=@ID”;
步骤5)中使用融合查询系统进行各类查询的方法如下:
1)不需访问非结构化信息分量包含的字段的纯结构化查询使用通用的SQL访问“数据库实体表”,由MySQL本身提供的功能处理;
2)只需在非结构化信息分量包含的字段内进行关键字检索的纯非结构化查询使用以下查询“SELECT标识字段FROM全文检索链接表WHERE Query=关键字检索条件”。全文检索存储引擎即会将这一全文检索请求转发至全文检索系统,由全文检索系统完成非结构化查询;
3)同时需要进行关键字检索和结构化查询的融合查询使用“数据库实体表”和“全文检索链接表”的联合实现,基本的查询模式为“SELECT…FROM数据库实体表INNER JOIN全文检索链接表USING标识字段WHERE全文检索链接表.Query=关键字检索条件AND数据库实体表上的其它条件”。
以用户信息检索为例,步骤5)具体实施方式如下。
1)对于纯结构化查询,只需要访问“数据库实体表”UserEntity,由MySQL本身提供的功能处理。如查询所有在线的年龄在20岁至30岁之间的用户名可使用如下SQL查询:
SELECT Name FROM User WHERE Online AND Age BETWEEN 20AND 30;
2)对于纯非结构化查询,只需要访问“全文检索链接表”UserFT,由全文检索存储引擎将查询请求转交给全文检索系统并转化全文检索系统查询结果为关系表形式。如查询所有爱好“足球”的用户可使用如下SQL查询:
SELECT ID FROM UserFT WHERE Query=‘足球’;
对于这一查询,全文检索存储引擎将全文检索字符串‘足球’发送至全文检索系统,全文检索系统处理这一查询,返回满足条件的用户ID,再由全文检索存储引擎将这一结果封装为MySQL所要求的记录格式。最终查询结果以关系表的形式呈现给用户。
3)对于同时涉及结构化和非结构化的融合查询,使用“全文检索链接表”与“数据库实体表”的联接实现。如查询所有爱好“足球”的在线20岁至30岁之间的用户信息可使用如下SQL查询:
SELECT User.ID FROM UserFT INNER JOIN UserEntity USING ID
WHERE Query=‘足球’AND Online AND Age BETWEEN 20AND 30;
对于这一查询,MySQL首先通过全文检索全文检索存储引擎得到所有爱好‘足球’的用户ID,对每个ID,在User表中找到对应记录,然后过滤掉那些不满足“Online AND Age BETWEEN 20AND 30”的记录,最终产生融合查询的结果。
Claims (7)
1.一种基于MySQL存储引擎的融合查询方法,其特征在于采用以下步骤实现:
1)根据应用对建立索引性能、查询性能和数据实时性的要求,选择一个满足融合查询需求的全文检索系统;
2)开发一个MySQL存储引擎实现MySQL与上述步骤1)中选取的全文检索系统的交互;存储引擎只负责以下两个任务:a)将全文检索请求转发至全文检索系统;b)将全文检索系统查询结构封装为MySQL内部的关系表示形式;
3)分析应用主题域,确定要进行融合查询的原始数据库表或视图,确定表的标识字段和结构化与非结构化信息分量;
4)定义数据同步策略,开发数据发布器,根据同步策略建立融合查询系统并维持融合查询系统与原始数据库表或视图的同步关系;
5)应用程序使用标准SQL访问融合查询系统中的MySQL,以一个系统即融合查询系统,一个接口即标准SQL接口,实现纯结构化、纯非结构化和融合三类查询。
2.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤1)中选用的全文检索系统应满足以下条件:支持多个文档域,支持在一个或多个域中进行检索。
3.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤2)中开发的存储引擎需要实现MySQL存储引擎接口中的以下方法:a)实现index_read接口,转发全文检索请求到全文检索系统;b)实现index_next接口,从全文检索系统中读取下一条全文检索结果,并转化为MySQL内部的关系表示形式。
4.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤3)的具体实施应满足如下需求:
1)要进行融合查询的数据库表或视图需满足以下条件:必须拥有一个为整数类型的字段,且该字段的值能够唯一确定一条记录的字段为表或视图的标识字段,即该字段为候选码之一;
2)所有内容为字符串类型且需要进行关键字检索的字段作为表的非结构化信息分量;所有需要进行结构化查询或需要在查询结果中返回的字段作为表的结构化信息分量,结构化信息分量和非结构化信息分量可以有交集;
3)标识字段不能被更新。
5.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤4)中的数据同步策略包含以下内容:
1)非结构化信息分量定时重建的周期与是否需要实时同步;
2)结构化信息分量定时重建的周期与是否需要实时同步。
6.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤4)中维持融合查询系统与原始数据库表或视图的同步关系的方法如下:
1)针对原始表或视图中的结构化信息分量,数据发布器在融合查询系统MySQL中建立一张对应的数据库实体表,该表包含原始表或视图中结构化信息分量包含的字段及标识字段;
2)针对原始表或视图中的结构化信息分量,数据发布器在融合查询系统MySQL中建立一张对应的全文检索链接表,且指定该表使用步骤2)中开发的存储引擎,全文检索链接表包含以下两个字段:a)原始表或视图中的标识字段;b)一个为字符串类型的全文检索字符串字段,名为Query;
3)若数据同步策略要求结构化信息分量需要定时重建,则按指定周期选取原始表或视图中的结构化信息分量包含的字段及标识字段插入到融合查询系统的数据库实体表中;
4)若数据同步策略要求非结构化信息分量需要定时重建,则按指定周期选择原始表或视图中的非结构化信息分量包含的字段及标识字段插入到全文检索系统中,其中标识字段用作全文检索的文档ID,非结构化信息分量包含的每个字段作为文档的一个域;
5)若数据同步策略要求结构化信息分量需要实时同步,则在原始数据库中新建一张结构化信息实时更新日志表,表中包含以下两个字段:a)一个名为ID的自动递增类型的字段;b)一个名为SQL的字符串类型的字段,同时在原始表或视图上定义一个触发器,该触发器的特征为:a)触发事件为记录插入、删除或更新操作;b)当且仅当操作涉及数据的结构化信息分量或标识字段时,触发器向结构化信息实时更新日志表中插入一个记录,其SQL字段的内容描述对原始表或视图的操作,数据发布器实时按ID升序读取结构化信息实时更新日志表中日志,应用到数据库实体表中后将这一日志从结构化信息实时更新日志表删除;
6)若数据同步策略要求非结构化信息分量需要实时同步,则在原始数据库中新建一张非结构化信息实时更新日志表,模式与结构化信息实时更新日志表相同,同时在原始表或视图上定义一个触发器,该触发器的触发事件和对插入与删除操作的处理与步骤5)类似,但只在操作涉及数据的非结构化信息分量或标识字段时触发器生成日志记录,数据发布器实时按ID升序读取非结构化信息实时更新日志表中日志,根据日志内容处理后将日志从非结构化信息实时更新日志表中删除。
7.根据权利要求1所述的一种基于MySQL存储引擎的融合查询方法,其特征在于:步骤5)中应用程序使用标准SQL访问融合查询系统中的MySQL,以一个系统即融合查询系统,一个接口即标准SQL接口,实现纯结构化、纯非结构化和融合三类查询的方法如下:
1)不需访问非结构化信息分量包含的字段的纯结构化查询使用通用的SQL访问数据库实体表,由MySQL本身提供的功能处理;
2)只需在非结构化信息分量包含的字段内进行关键字检索的纯非结构化查询使用以下查询“SELECT标识字段FROM全文检索链接表WHERE Query=关键字检索条件”,全文检索存储引擎即会将这一全文检索请求转发至全文检索系统,由全文检索系统完成非结构化查询;
3)对于同时需要进行关键字检索和结构化查询的融合查询,使用数据库实体表和全文检索链接表的联接实现,基本的查询模式为“SELECT…FROM数据库实体表INNER JOIN全文检索链接表USING标识字段WHERE全文检索链接表.Query=关键字检索条件AND数据库实体表上的其它条件”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101561836A CN101158958B (zh) | 2007-10-23 | 2007-10-23 | 基于MySQL存储引擎的融合查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101561836A CN101158958B (zh) | 2007-10-23 | 2007-10-23 | 基于MySQL存储引擎的融合查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101158958A CN101158958A (zh) | 2008-04-09 |
CN101158958B true CN101158958B (zh) | 2010-06-09 |
Family
ID=39307060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101561836A Expired - Fee Related CN101158958B (zh) | 2007-10-23 | 2007-10-23 | 基于MySQL存储引擎的融合查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101158958B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184222B (zh) * | 2011-05-05 | 2012-11-14 | 杭州安恒信息技术有限公司 | 一种在大数据量存储中快速检索的方法 |
CN102937955A (zh) * | 2011-11-29 | 2013-02-20 | Ut斯达康通讯有限公司 | 一种基于MySQL双存储引擎的内存数据库实现方法 |
CN104699720A (zh) * | 2013-12-10 | 2015-06-10 | 中兴通讯股份有限公司 | 海量数据融合存储方法及系统 |
CN106649483A (zh) * | 2016-10-08 | 2017-05-10 | 浪潮软件股份有限公司 | 一种数据动态查询的方法及装置 |
CN107967274A (zh) * | 2016-10-19 | 2018-04-27 | 航天信息软件技术有限公司 | 数据库中数据同步的方法和装置 |
CN106874429B (zh) * | 2017-01-23 | 2020-08-11 | 南威软件股份有限公司 | 一种标准sql转换成全文检索标准查询的方法 |
US10740318B2 (en) * | 2017-10-26 | 2020-08-11 | Sap Se | Key pattern management in multi-tenancy database systems |
CN111913949B (zh) * | 2019-05-07 | 2023-09-01 | 北京京东振世信息技术有限公司 | 数据处理方法、系统、装置和计算机可读存储介质 |
CN112925856B (zh) * | 2019-12-06 | 2023-09-19 | 中国移动通信集团重庆有限公司 | 实体关系分析方法、装置、分析设备及计算机存储介质 |
CN111984671B (zh) * | 2020-07-27 | 2023-09-12 | 北京天健源达科技股份有限公司 | 一种生成创建视图脚本的方法 |
CN112965987A (zh) * | 2021-03-31 | 2021-06-15 | 华申数科(北京)信息科技有限责任公司 | 一种数字新治理业务的带权限高效模糊检索的方法及应用 |
CN117632889A (zh) * | 2024-01-24 | 2024-03-01 | 北京安华金和科技有限公司 | 一种审计日志的全文索引处理方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
-
2007
- 2007-10-23 CN CN2007101561836A patent/CN101158958B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101158958A (zh) | 2008-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101158958B (zh) | 基于MySQL存储引擎的融合查询方法 | |
CN107122443B (zh) | 一种基于Spark SQL的分布式全文检索系统及方法 | |
CN100481076C (zh) | 关系型数据库与全文检索相结合的检索方法 | |
CN106227800B (zh) | 一种高度关联大数据的存储方法及管理系统 | |
Lightstone et al. | Physical Database Design: the database professional's guide to exploiting indexes, views, storage, and more | |
US6970882B2 (en) | Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table | |
EP3128445A1 (en) | Data archive vault in big data platform | |
CN103631909B (zh) | 对大规模结构化和非结构化数据联合处理的系统及方法 | |
CN102819585B (zh) | 一种xml数据库文档控制方法 | |
CN102918494A (zh) | 基于数据库模型不可知论、纲要不可知论且工作负载不可知论的数据存储和存取模型的数据存储和/或检索 | |
CN102609417A (zh) | 基于ifc标准的建筑信息模型数据集成与交换引擎装置和方法 | |
CN106611053B (zh) | 一种数据清理、索引方法 | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
CN114116716A (zh) | 一种层次数据检索方法、装置和设备 | |
Kim et al. | A spatiotemporal database model and query language | |
US9805112B2 (en) | Method and structure for managing multiple electronic forms and their records using a static database | |
CN104731945A (zh) | 一种基于HBase的全文检索方法及装置 | |
CN101789027A (zh) | 一种基于dbms的元数据管理方法和元数据服务器 | |
CN102117318A (zh) | 一种企业信息化系统的数据处理方法 | |
Das et al. | A study on big data integration with data warehouse | |
Hu et al. | Extracting deltas from column oriented NoSQL databases for different incremental applications and diverse data targets | |
Chen et al. | Constructing and maintaining scientific database views in the framework of the object-protocol model | |
Nicola et al. | DB2 pureXML cookbook: master the power of the IBM hybrid data server | |
Morishima et al. | A data modeling and query processing scheme for integration of structured document repositories and relational databases | |
Batra et al. | Modeling sparse and evolving data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 Termination date: 20201023 |