CN103365914A - 基于搜索引擎的数据库查询系统和方法 - Google Patents
基于搜索引擎的数据库查询系统和方法 Download PDFInfo
- Publication number
- CN103365914A CN103365914A CN 201210101197 CN201210101197A CN103365914A CN 103365914 A CN103365914 A CN 103365914A CN 201210101197 CN201210101197 CN 201210101197 CN 201210101197 A CN201210101197 A CN 201210101197A CN 103365914 A CN103365914 A CN 103365914A
- Authority
- CN
- China
- Prior art keywords
- database
- index
- search
- data
- subsystem
- 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
Abstract
本发明公开了基于搜索引擎的数据库查询系统和方法,所述基于搜索引擎的数据库查询系统,包括:数据库子系统,用于提供数据库操作功能;索引子系统,用于提供对数据的索引,检索功能;数据库和索引耦合模块,用于将对索引的搜索映射为数据库的操作,所述搜索的过程和匹配度的算法根据业务的需要定制和优化。本发明可以对数据库数据进行实时高效的索引,并通过简明的数据库结构化查询语言,对数据库和索引方便的进行查询和操作,简单、高效,大大提高网站的开发效率和搜索系统的运行效率。
Description
技术领域
本申请涉及搜索引擎和数据库查询系统,尤其涉及一种基于搜索引擎的数据库查询系统和方法。
背景技术
搜索引擎提供强大的工具来定位在大型文档数据库中的文档中的内容。响应与搜索查询使用文档的索引来定位文档,搜索查询由用户提交的一个或者多个词、词语、关键词和/或短语组成。可以将在文档的索引中的文档与搜索查询的一个或者多个词语匹配以确定分值。基于分值,将相关文档或者文档位置的排名的列表提供给用户。
中文搜索引擎的核心是分词技术。分词技术是利用一定的规则和词库,切分出一个句子中的词,为自动索引做好准备。目前的索引多采用Non-clustered方法,该技术和语言文字的学问有很大的关系,具体有如下几点:
(1)存储语法库,和词汇库配合分出句子中的词汇;
(2)存储词汇库,要同时存储词汇的使用频率和常见搭配方式;
(3)词汇宽,应可划分为不同的专业库,以便于处理专业文献;
(4)对无法分词的句子,把每个字当作词来处理。
数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软件科学。数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。数据库技术研究和管理的对象是数据,所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照指定的结构建立相应的数据库和数据仓库;利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。
SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户 指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
SQL提供了四种匹配模式的模糊查询,但对于大数据量的模糊查询,尤其是一张表的数据量在200M以后,查询的速度越来越慢。一般的数据库还带有全文索引的功能,但有很多不足,如:繁体字,孤僻字的支持不好;内部BUG比较多;自身维护的代价和成本很高;只支持简单的全文检索,不能操纵索引的过程和权重,无法干预查询的过程和结果的排序及分值;相对而言,搜索引擎在这些方面有比较完美的解决方案,可以自由的创建索引,定义文档的权重,使用自定义的词库及分词方法。定制和优化搜索过程,定义查询的规则及评分的标准,对结果进行排序和确定分值,达到理想的结果。但不支持关系型的数据结构。目前的网站应用,大多都是基于关系型数据库,有一套非常成熟的解决方案。因此有必要将两者的优势结合起来。
发明内容
本发明提供一种基于搜索引擎的数据库查询系统及方法,可以将搜索引擎和数据库完美结合到一起,可以通过简单的数据库结构化查询语言查询搜索引擎系统和数据库,提高搜索的效率和网站应用开发的效率。
为实现上述目的,本申请实施例提供了一种基于搜索引擎的数据库查询系统,是这样实现的:
一种基于搜索引擎的数据库查询系统,包括:
数据库子系统,提供通常的数据库操作功能;此部分采用通常的关系型数据库即可,比如ORACLE数据库。同时此模块还提供索引触发功能,当指定的数据库表内容发生变化(新增,修改,删除)时,触发对索引更新的操作。
索引子系统,提供对数据的索引,检索功能。此系统包括索引模块,中文分词模块及搜索模块。索引模块根据配置需要对来自数据库的指定表的指定字段或者这些字段某种方式的变换(如同义词变换,拼音转换等)和/或组合进行索引,完成索引的创建、存储、更新功能。索引模块的工作可以是通过数据库子系统的触发功能来触发,也可以通过定时任务来触发。索引模块还可以根据需要对索引的数据的分配不同的权重,以满足排序策略的需要。中文分 词的子模块对于文本,数字,时间等不同类型的字段进行分类处理,对于文本类型的数据根据配置按需进行分词处理。
数据库和索引耦合模块,用于对索引的搜索映射为数据库的操作,这样在数据库结构化查询语言中就能同时对索引和数据库方便的进行查询和操作。对索引的搜索支持多种搜索方式,除了简单的包含操作,还包括评分、相似搜索、高亮显示等。搜索的过程和匹配度的算法都是根据业务的需要定制和优化的。如可以将对索引中的某个字段进行关键字搜索的操作映射为数据库的自定义函数“contains”,将对索引搜索结果的评分映射为数据库的自定义函数“score”,将对索引进行相似搜索的操作映射为数据库自定义函数“morelike”,将高亮显示搜索结果中搜索关键词的操作映射为数据库的自定义函数“highlight”。这样在对数据库进行这些函数操作时就能通过搜索引擎对索引进行搜索,而这些操作又可以与数据库操作联合进行,整合了两种查询方式的优点,方便了开发工作,同时也方便了应用部署,索引服务跟数据库服务部署在一起,既简化了部署操作,也使得两者可以共用同样的数据库查询接口(数据库连接和SQL语言),减少了接口开发的工作量。
为实现上述目的,本申请实施例提供了一种基于搜索引擎的数据库查询方法,是这样实现的:
一种基于搜索引擎的数据库查询方法,包括:
可配置的索引,搜索和排序规则;
通过数据库结构化查询语言同时对数据库和索引文件进行查询和操作,集成两者的优势,提高搜索的效率,使网站应用的开发更加方便快捷。
可见,通过本发明的基于搜索引擎的数据库查询系统及方法,可以对数据库数据进行实时高效的索引,并通过简明的数据库结构化查询语言,对数据库和索引方便的进行查询和操作,简单、高效,大大提高网站的开发效率和搜索系统的运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作介绍,下面描述中的附图仅仅是本申请中记载的一些实施例。
图1为本申请基于搜索引擎的数据库查询系统的第一实施例框图。
具体实施方式
本申请实施例提供一种基于搜索引擎的数据库查询系统及方法。
为了使本领域技术人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述 目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
在数据库中(如ORACLE数据库)建立触发器,对指定的业务表(如企业信息表)的新增、修改或者删除的时候触发索引操作。触发索引操作时,索引模块将完成对该业务表(企业信息表)中更新的数据进行实时索引。索引的过程通过可以通过自定义的业务逻辑来实现特殊化的定制需求,如对企业的名称,地址,服务分类等字段进行分词并按照文本方式索引。对企业ID,坐标字段按照数字字段进行索引(不分词)。特别的,可以对于系统推荐的优质企业提高索引的权重。同时,可以对某些字段进行一些转换后进行索引,如特色服务字段,某企业可以提供“黑龙江保姆”,在索引的时候可以将此词扩充为“黑龙江保姆东北保姆”一并索引,这样用户在搜索“黑龙江保姆”或者“东北保姆”的时候都能搜索到这家企业。此外,还可以对名称字段进行拼音索引,在搜索模块加入对拼音搜索的特殊处理,则可实现即使用户输入了错别字(同音字)的情况下,也能正确的搜索到这家企业。在搜索模块,定义一个搜索接口,将搜索接口映射为数据库的操作方法,这样用户通过该方法即可用简单的结构化查询语句查询索引并与数据库表进行联合查询,方便的实现网站应用功能。如可以将对索引中的某个字段进行关键字搜索的操作映射为数据库的自定义函数“contains”,将对索引搜索结果的评分映射为数据库的自定义函数“score”,将对索引进行相似搜索的操作映射为数据库自定义函数“morelike”,将高亮显示搜索结果中搜索关键词的操作映射为数据库的自定义函数“highlight”。这样在对数据库进行这些函数操作时就能通过搜索引擎对索引进行搜索,而这些操作又可以与数据库操作联合进行,整合了两种查询方式的优点,方便了开发工作,同时也方便了应用部署,索引服务跟数据库服务部署在一起,既简化了部署操作,也使得两者可以共用同样的数据库查询接口(数据库连接和SQL语言),减少了接口开发的工作量。开发人员在此基础上,可以通过数据库连接,用简单的SQL语句,完成对数据库和对索引文件的单独或者联合查询。以下是几个查询方法的示例:
Select score(),T.*from COMPANY T where contains(T.SERVICE,’东北保姆’)>0 andT.CITY=‘北京’
(查询企业信息表中同时满足CITY字段为‘北京’而且对针对该表建立的索引的SERVICE字段进行全文检索关键词“东北保姆”有检出的所有记录的所有字段信息,并给出每个搜索结果的搜索评分)
Select T.*from COMPANY T where morel ike(T.NAME,’好帮手’)>0
(通过索引检索企业名称与“好帮手”相似的公司,并显示公司的全部信息)。
Claims (6)
1.一种基于搜索引擎的数据库查询系统,其特征在于,包括:
数据库子系统,用于提供数据库操作功能;
索引子系统,用于提供对数据的索引,检索功能,索引的数据来自数据库的某些表的某些字段或者这些字段某种方式的变换和/或组合;
数据库和索引耦合模块,用于将对索引的搜索映射为数据库的操作,所述搜索的过程和匹配度的算法根据业务的需要定制和优化。
2.据权利要求1所述的系统,其特征在于,所述索引子系统包括中文分词的子模块,对于文本、数字、时间等不同类型的字段进行分类处理,对于文本类型的数据根据配置进行分词处理。
3.根据权利要求2所述的系统,其特征在于,所述索引子系统的索引的触发和内容可以通过数据库的触发器来激活处理。
4.根据权利要求3所述的系统,其特征在于,所述索引子系统对数据库中的数据进行索引的时候分配不同的权重。
5.根据权利要求1所述的系统,其特征在于,所述数据库和索引耦合模块对索引的搜索支持多种搜索方式,除了简单的包含操作,还包括评分、相似搜索、高亮显示等。
6.一种基于搜索引擎的数据库查询方法,其特征在于,包括:
建立数据库子系统,提供数据库操作功能;
建立索引子系统,提供对数据的索引,检索功能,索引的数据来自数据库的某些表的某些字段或者这些字段某种方式的变换和/或组合;
耦合数据库子系统及索引子系统,建立数据库和索引耦合模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210101197 CN103365914A (zh) | 2012-04-10 | 2012-04-10 | 基于搜索引擎的数据库查询系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210101197 CN103365914A (zh) | 2012-04-10 | 2012-04-10 | 基于搜索引擎的数据库查询系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103365914A true CN103365914A (zh) | 2013-10-23 |
Family
ID=49367278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210101197 Pending CN103365914A (zh) | 2012-04-10 | 2012-04-10 | 基于搜索引擎的数据库查询系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365914A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN105653697A (zh) * | 2015-12-30 | 2016-06-08 | 北京奇艺世纪科技有限公司 | 一种推荐词检索方法及系统 |
CN106815220A (zh) * | 2015-11-27 | 2017-06-09 | 英业达科技有限公司 | 数据分类及搜寻方法 |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106919678A (zh) * | 2017-02-27 | 2017-07-04 | 武汉珞佳伟业科技有限公司 | 一种数据库查询优化系统及方法 |
CN107861977A (zh) * | 2017-09-22 | 2018-03-30 | 广东省科技基础条件平台中心 | 一种基于混合数据源融合的资源检索方法 |
CN107870919A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 管理索引的方法和设备 |
CN108121709A (zh) * | 2016-11-28 | 2018-06-05 | 中兴通讯股份有限公司 | 一种搜索处理方法及装置 |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN111382226A (zh) * | 2018-12-29 | 2020-07-07 | 北京神州泰岳软件股份有限公司 | 一种数据库查询检索方法、装置和电子设备 |
CN116719839A (zh) * | 2023-08-10 | 2023-09-08 | 北京合思信息技术有限公司 | 会计档案的数据查询方法、装置和电子设备 |
-
2012
- 2012-04-10 CN CN 201210101197 patent/CN103365914A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN104123346B (zh) * | 2014-07-02 | 2017-10-20 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
CN106815220A (zh) * | 2015-11-27 | 2017-06-09 | 英业达科技有限公司 | 数据分类及搜寻方法 |
CN105653697A (zh) * | 2015-12-30 | 2016-06-08 | 北京奇艺世纪科技有限公司 | 一种推荐词检索方法及系统 |
CN105653697B (zh) * | 2015-12-30 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 一种推荐词检索方法及系统 |
CN107870919A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 管理索引的方法和设备 |
CN108121709A (zh) * | 2016-11-28 | 2018-06-05 | 中兴通讯股份有限公司 | 一种搜索处理方法及装置 |
CN106855890B (zh) * | 2017-01-09 | 2020-07-28 | 深圳巨杉数据库软件有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106919678A (zh) * | 2017-02-27 | 2017-07-04 | 武汉珞佳伟业科技有限公司 | 一种数据库查询优化系统及方法 |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN110019080B (zh) * | 2017-07-14 | 2021-11-12 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN107861977A (zh) * | 2017-09-22 | 2018-03-30 | 广东省科技基础条件平台中心 | 一种基于混合数据源融合的资源检索方法 |
CN111382226A (zh) * | 2018-12-29 | 2020-07-07 | 北京神州泰岳软件股份有限公司 | 一种数据库查询检索方法、装置和电子设备 |
CN111382226B (zh) * | 2018-12-29 | 2023-09-19 | 北京神州泰岳软件股份有限公司 | 一种数据库查询检索方法、装置和电子设备 |
CN116719839A (zh) * | 2023-08-10 | 2023-09-08 | 北京合思信息技术有限公司 | 会计档案的数据查询方法、装置和电子设备 |
CN116719839B (zh) * | 2023-08-10 | 2024-01-26 | 北京合思信息技术有限公司 | 会计档案的数据查询方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365914A (zh) | 基于搜索引擎的数据库查询系统和方法 | |
CA2772746C (en) | Trusted query system and method | |
Song et al. | Building and querying an enterprise knowledge graph | |
CA3115268A1 (en) | Determining levels of detail for data visualizations using natural language constructs | |
US9613125B2 (en) | Data store organizing data using semantic classification | |
CN101477568A (zh) | 一种结构化数据和非结构化数据综合检索的方法 | |
CN104123346A (zh) | 一种结构化数据搜索方法 | |
CN102609512A (zh) | 异构信息知识挖掘与可视化分析系统及方法 | |
JP2012248210A (ja) | 日本語などの複雑言語のコンテンツを検索するシステム及び方法 | |
US20130124194A1 (en) | Systems and methods for manipulating data using natural language commands | |
CN101894143A (zh) | 一种联邦检索及检索结果集成展现方法及系统 | |
CN112231321B (zh) | 一种Oracle二级索引及索引实时同步方法 | |
CN107851108A (zh) | 使用位向量搜索索引的匹配文档 | |
WO2020248378A1 (zh) | 业务查询方法、装置及存储介质、计算机设备 | |
US9063957B2 (en) | Query systems | |
CN108475266A (zh) | 用来移除匹配文档的匹配修复 | |
Yafooz et al. | Managing unstructured data in relational databases | |
CN103365915A (zh) | 基于搜索引擎和数据库查询系统的搜索结果排名方法 | |
CN102609455B (zh) | 一种实现汉语同音字检索的方法 | |
Gusenkov et al. | On ontology based data integration: problems and solutions | |
CN112286964A (zh) | 一种sql语句优化方法、装置、设备及存储介质 | |
CN101719162A (zh) | 基于片段模式匹配的多版本开放式地理信息服务访问方法及系统 | |
Truică et al. | A scalable document-based architecture for text analysis | |
CN112988796A (zh) | 一种系统数据检索的系统与方法 | |
CN202084035U (zh) | 一种检索系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Beijing Emotte Information Technology Co., Ltd. Document name: Notification of Publication of the Application for Invention |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice |
Addressee: Chen Xiaoling Document name: Notification of Patent Invention Entering into Substantive Examination Stage |
|
DD01 | Delivery of document by public notice |
Addressee: Chen Xiaoling Document name: Notification of Passing Examination on Formalities |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131023 |
|
RJ01 | Rejection of invention patent application after publication |