CN103744913A - 一种基于搜索引擎技术的数据库检索方法 - Google Patents
一种基于搜索引擎技术的数据库检索方法 Download PDFInfo
- Publication number
- CN103744913A CN103744913A CN201310734758.3A CN201310734758A CN103744913A CN 103744913 A CN103744913 A CN 103744913A CN 201310734758 A CN201310734758 A CN 201310734758A CN 103744913 A CN103744913 A CN 103744913A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- database
- method based
- index
- search engine
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—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/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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于搜索引擎技术的数据库检索方法,所述方法包括:S1.设置一个带有服务接口的检索服务器,用于提供辅助的快速检索服务,所述检索服务器从关系型数据库中获取数据并建立索引;S2.客户端通过服务接口向检索服务器发送检索请求;S3.检索服务器根据检索条件获取检索结果然后通过服务接口把检索结果发送给客户端;S4.客户端对返回的结果进行处理显示。本发明在不影响原有数据库***性能的前提下额外增加了检索服务器实现了高效率的检索功能。
Description
技术领域
本发明涉及信息检索技术,尤其涉及一种基于搜索引擎技术的数据库检索方法。
背景技术
目前对关系型数据库的内容进行检索,一般编写SQL查询语句,让数据库***来执行。但对于记录条数较多的情况,例如上亿条,数据库执行检索的效率很低。
为了提高检索效率,目前采用的技术方法都是围绕数据库本身进行优化,包括:1.对经常需要作为检索条件的字段建立索引;2.将大的数据库表进行分区或分表处理,再结合应用逻辑的优化来提高对部分数据进行检索的效率。
然而,创建索引和分区分表虽能提升对关系型数据库进行内容检索的效率,但是数据库***也需要承受很大的代价,说明如下:
由于关系型数据库的特性,在相关的字段建立索引之后,会导致数据库其它操作的性能下降,例如***、更新、删除等;而且,当检索条件复杂的情况,需要对较多的字段建立索引,性能代价将会更大。另外,对数据库进行分区和分表之后,如果需要在全局的数据中进行检索,仍然要面临数据合并和排序的性能问题。
发明内容
为了克服现有技术的不足,本发明提供了一种基于搜索引擎技术的数据库检索方法,它不影响原有数据库***的性能,通过额外增加检索服务器,利用搜索引擎的技术,对数据库的内容提供高性能的检索服务。
本发明采用如下技术方案:
一种基于搜索引擎技术的数据库检索方法,所述方法包括:
S1.设置一个带有服务接口的检索服务器,用于提供辅助的快速检索服务,所述检索服务器从关系型数据库中获取数据并建立索引;
S2.客户端通过服务接口向检索服务器发送检索请求;
S3.检索服务器根据检索条件获取检索结果然后通过服务接口把检索结果发送给客户端;
S4.客户端对返回的结果进行处理显示。
本发明主要通过额外增加检索服务器对关系型数据库中新增加的数据进行索引建立,然后让客户端在检索服务器里面快速获取想要的数据信息,这样比起原先直接在关系型数据库里检索的速度大大提高了,因为关系型数据库随着新的数据进入,当数据量增长到一定程度时会使它的处理性能遭遇到瓶颈,使得检索速度变得很缓慢,而采用的这样的检索服务器来响应客户端的请求就很快捷。
其中,所述检索服务器从关系型数据库中获取数据并建立索引具体包括:
S11.检索服务器根据设定的时间间隔,结合最近一次获取数据的时间戳,定时从关系型数据库中获取更新的数据;
S12.对新的数据进行分词处理;
S13.根据分词和文档的包含关系,建立倒排索引,并写入结构紧凑的索引文件中。
其中,对于步骤S13,当索引文件增加到一定程度时,对其进行合并。
结合步骤S13,步骤S4提到客户端对返回的结果进行处理显示具体是本发明在对新的数据做了分词之后,只保留倒排索引,不保留原始全部信息,这样检索服务器发送给客户端的检索结果为数据满足检索条件且记录在关系型数据库中的位置信息,然后客户端再根据这位置信息去关系型数据库里快速获取详细的数据信息。但是,这种只是配置方式的一种,检索服务器中保留和返回哪些原始信息,这个可以根据实际需要配置,也即检索服务器也可以保留更新数据的全部信息,然后根据检索条件把全部信息发送给客户端。
另外,本发明对不同字段的数据类型采用相应的索引方法,对文本则对其分词后再根据分词来建立索引,对数值则采用二叉树进行存储。
其中,对于步骤S3,根据检索条件,在索引文件中查找满足条件的内容,一般根据相关性对其进行排序,也可以根据用户指定的条件进行排序。
为了达到高性能的目的,需要尽量将索引文件保持在检索服务器的内存中,除了合理设计索引文件的存储格式之外,本发明还设有缓存机制,将检索条件中包含取值区间的检索结果缓存到检索服务器的内存中,使得后续的相似查询可以获得更快速的响应。
本发明与现有技术相比具有的有益效果为:
1.额外增加的检索服务器在不影响原有客户端的前提下,实现高效率的检索功能。
2.良好的缓存机制使得相似检索可以得到更快的相应。
附图说明
图1:本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
结合图1所示,一种基于搜索引擎技术的数据库检索方法,所述方法包括:
S1.设置一个带有服务接口的检索服务器,用于提供辅助的快速检索服务,所述检索服务器根据设定的时间间隔,结合最近一次获取数据的时间戳,定时从关系型数据库中获取更新的数据,对新的数据进行分词处理后,根据分词和文档的包含关系建立倒排索引,并写入结构紧凑的索引文件中。当索引文件增加到一定程度时,对其进行合并;
S2.应用软件通过服务接口向检索服务器发送检索请求;
S3.检索服务器根据检索条件,在索引文件中查找满足条件的内容,一般根据相关性对其进行排序,也可以根据用户指定的条件进行排序,然后获取检索结果然后通过服务接口把检索结果发送给客户端;
S4.应用软件对返回的结果进行处理显示。
此外,该方法还设有缓存机制,将检索条件中包含取值区间的检索结果缓存到检索服务器的内存中,使得后续的相似查询可以获得更快速的响应。
通过实际操作,在数据库表中记录数达到3.8亿条的情况下,利用原有的方法,对数据库***进行查询,响应时间是236秒。而利用本发明的技术方案,响应时间是9秒,大大缩短了检索时间。
Claims (5)
1.一种基于搜索引擎技术的数据库检索方法,其特征在于,所述方法包括:
S1.设置一个带有服务接口的检索服务器,用于提供辅助的快速检索服务,所述检索服务器从关系型数据库中获取数据并建立索引;
S2.客户端通过服务接口向检索服务器发送检索请求;
S3.检索服务器根据检索条件获取检索结果然后通过服务接口把检索结果发送给客户端;
S4.客户端对返回的结果进行处理显示。
2.根据权利要求1所述的一种基于搜索引擎技术的数据库检索方法,其特征在于,所述检索服务器从关系型数据库中获取数据并建立索引具体包括:
S11.检索服务器根据设定的时间间隔,结合最近一次获取数据的时间戳,定时从关系型数据库中获取更新的数据;
S12.对新的数据进行分词处理;
S13.根据分词和文档的包含关系,建立倒排索引,并写入结构紧凑的索引文件中。
3.根据权利要求2所述的一种基于搜索引擎技术的数据库检索方法,其特征在于,当索引文件增加到一定程度时,对其进行合并。
4.根据权利要求1所述的一种基于搜索引擎技术的数据库检索方法,其特征在于,根据检索条件,在索引文件中查找满足条件的内容,一般根据相关性对其进行排序,也可以根据用户指定的条件进行排序。
5.根据权利要求2所述的一种基于搜索引擎技术的数据库检索方法,其特征在于,还设有缓存机制,将检索条件中包含取值区间的检索结果缓存到检索服务器的内存中,使得后续的相似查询可以获得更快速的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734758.3A CN103744913A (zh) | 2013-12-27 | 2013-12-27 | 一种基于搜索引擎技术的数据库检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734758.3A CN103744913A (zh) | 2013-12-27 | 2013-12-27 | 一种基于搜索引擎技术的数据库检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103744913A true CN103744913A (zh) | 2014-04-23 |
Family
ID=50501931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310734758.3A Pending CN103744913A (zh) | 2013-12-27 | 2013-12-27 | 一种基于搜索引擎技术的数据库检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744913A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182546A (zh) * | 2014-09-09 | 2014-12-03 | 北京国双科技有限公司 | 数据库的数据查询方法及装置 |
CN105320754A (zh) * | 2015-10-08 | 2016-02-10 | 上海瀚银信息技术有限公司 | 一种数据搜索***及方法 |
CN105912545A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于媒体资源检索的设备、方法及*** |
CN106649804A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市优必选科技有限公司 | 数据查询服务器的数据处理方法及装置、数据处理*** |
CN106777088A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 快速迭代的搜索引擎排序方法及*** |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106920192A (zh) * | 2016-12-29 | 2017-07-04 | 广州途威慧信息科技有限公司 | 一种教育咨询管理*** |
CN107103011A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 终端数据搜索的实现方法和装置 |
CN107729518A (zh) * | 2017-10-26 | 2018-02-23 | 山东浪潮云服务信息科技有限公司 | 一种关系型数据库的全文检索方法及装置 |
CN110895538A (zh) * | 2018-09-13 | 2020-03-20 | 深圳市蓝灯鱼智能科技有限公司 | 数据检索方法、装置、存储介质和处理器 |
CN111259193A (zh) * | 2020-01-16 | 2020-06-09 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索***及其应用方法 |
-
2013
- 2013-12-27 CN CN201310734758.3A patent/CN103744913A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182546A (zh) * | 2014-09-09 | 2014-12-03 | 北京国双科技有限公司 | 数据库的数据查询方法及装置 |
CN104182546B (zh) * | 2014-09-09 | 2017-10-27 | 北京国双科技有限公司 | 数据库的数据查询方法及装置 |
CN105320754A (zh) * | 2015-10-08 | 2016-02-10 | 上海瀚银信息技术有限公司 | 一种数据搜索***及方法 |
WO2017101425A1 (zh) * | 2015-12-15 | 2017-06-22 | 乐视控股(北京)有限公司 | 用于媒体资源检索的设备、方法及*** |
CN105912545A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于媒体资源检索的设备、方法及*** |
CN107103011A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 终端数据搜索的实现方法和装置 |
CN106777088A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 快速迭代的搜索引擎排序方法及*** |
CN106649804A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市优必选科技有限公司 | 数据查询服务器的数据处理方法及装置、数据处理*** |
CN106920192A (zh) * | 2016-12-29 | 2017-07-04 | 广州途威慧信息科技有限公司 | 一种教育咨询管理*** |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106855890B (zh) * | 2017-01-09 | 2020-07-28 | 深圳巨杉数据库软件有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN107729518A (zh) * | 2017-10-26 | 2018-02-23 | 山东浪潮云服务信息科技有限公司 | 一种关系型数据库的全文检索方法及装置 |
CN110895538A (zh) * | 2018-09-13 | 2020-03-20 | 深圳市蓝灯鱼智能科技有限公司 | 数据检索方法、装置、存储介质和处理器 |
CN111259193A (zh) * | 2020-01-16 | 2020-06-09 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索***及其应用方法 |
CN111259193B (zh) * | 2020-01-16 | 2023-08-25 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索***及其应用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
TWI682285B (zh) | 用於索引鍵值結構樹資料庫的產品、方法及機器可讀媒體 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和*** | |
CN102521406B (zh) | 海量结构化数据复杂查询任务的分布式查询方法和*** | |
CN104572670B (zh) | 一种小文件的存储、查询及删除方法和*** | |
CN104252536B (zh) | 一种基于hbase的上网日志数据查询方法及装置 | |
CN104424258B (zh) | 多维数据查询的方法、查询服务器、列存储服务器及*** | |
CN102890722B (zh) | 应用于时序历史数据库的索引方法 | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
CN105677826A (zh) | 一种针对海量非结构化数据的资源管理方法 | |
CN102467572B (zh) | 支持重复数据删除程序的数据区块查询方法 | |
WO2019105420A1 (zh) | 数据查询 | |
CN106528847A (zh) | 一种海量数据的多维度处理方法及*** | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
CN107357843B (zh) | 基于数据流结构的海量网络数据查找方法 | |
CN103678491A (zh) | 一种基于Hadoop中小文件优化和倒排索引的方法 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN103595797B (zh) | 一种分布式存储***中的缓存方法 | |
CN103366015A (zh) | 一种基于Hadoop的OLAP数据存储与查询方法 | |
TW201415262A (zh) | 基於Lucene的倒排索引系統構建、資料處理方法及裝置 | |
CN104077405A (zh) | 时序类型数据存取方法 | |
CN103440245A (zh) | 数据库***的行列混合存储方法 | |
CN103678694A (zh) | 视频资源的倒排索引文件建立方法及其*** | |
CN103544261A (zh) | 一种海量结构化日志数据全局索引管理方法及装置 | |
CN110309233A (zh) | 数据存储的方法、装置、服务器和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140423 |