CN110134686B - 一种中文关键词模糊查询的索引创建方法及系统 - Google Patents

一种中文关键词模糊查询的索引创建方法及系统 Download PDF

Info

Publication number
CN110134686B
CN110134686B CN201910375448.4A CN201910375448A CN110134686B CN 110134686 B CN110134686 B CN 110134686B CN 201910375448 A CN201910375448 A CN 201910375448A CN 110134686 B CN110134686 B CN 110134686B
Authority
CN
China
Prior art keywords
word
index
chinese
fuzzy
matched
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.)
Active
Application number
CN201910375448.4A
Other languages
English (en)
Other versions
CN110134686A (zh
Inventor
马良
张娴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Langchao Intelligent Medical Technology Co ltd
Inspur Group Co Ltd
Original Assignee
Shandong Langchao Intelligent Medical Technology Co ltd
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Langchao Intelligent Medical Technology Co ltd, Inspur Software Group Co Ltd filed Critical Shandong Langchao Intelligent Medical Technology Co ltd
Priority to CN201910375448.4A priority Critical patent/CN110134686B/zh
Publication of CN110134686A publication Critical patent/CN110134686A/zh
Application granted granted Critical
Publication of CN110134686B publication Critical patent/CN110134686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种中文关键词模糊查询的索引创建方法及系统,属于中文模糊查询效率技术领域。本发明的中文关键词模糊查询的索引创建方法将需要进行模糊查询的中文词语按照字进行拆分,并创建每个字在该中文词语中的索引信息,当中文词语模糊查询时,通过字索引快速查询出匹配中文词语的主键,并根据中文词语的主键从关系型数据库中查询出匹配内容。该发明的中文关键词模糊查询的索引创建方法能够解决关系型数据库中文模糊查询时使用自身索引查询效率低或无法使用索引查询效率低的问题,具有很好的推广应用价值。

Description

一种中文关键词模糊查询的索引创建方法及系统
技术领域
本发明涉及中文模糊查询效率技术领域,具体提供一种中文关键词模糊查询的索引创建方法及系统。
背景技术
当前流行的关系型数据库主要有Oracle,MySQL,SQL Server,DB2等,这几种数据库都支持关键词的模糊查询,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级、千万级的时候,模糊查询的效率就很低。
中文关键词的模糊查询效率之所以低,是因为每次模糊查询一般会使用全表扫描,即使对后模糊匹配可以使用索引但仍然比有索引的准确查询效率低很多。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能够解决关系型数据库中文模糊查询时使用自身索引查询效率低或无法使用索引查询效率低的问题的中文关键词模糊查询的索引创建方法。
本发明进一步的技术任务是提供一种中文关键词模糊查询的索引创建系统。
为实现上述目的,本发明提供了如下技术方案:
一种中文关键词模糊查询的索引创建方法,该方法将需要进行模糊查询的中文词语按照字进行拆分,并创建每个字在该中文词语中的索引信息,当中文词语模糊查询时,通过字索引快速查询出匹配中文词语的主键,并根据中文词语的主键从关系型数据库中查询出匹配内容。
作为优选,该方法具体包括以下步骤:
S1、字索引的创建:将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引;
S2、字索引的查询:输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语。
作为优选,字索引的创建过程中,为每个出现的字创建索引,存入Map集合中形成字索引。
作为优选,所述字索引的索引信息包含中文词语的主键ID、该字在中文词语中的位置及中文词语的字符长度。
作为优选,字索引的查询过程中,通过字索引筛选查询出匹配中文词语的主键ID,根据主键ID查询出关系型数据库中匹配的内容。
作为优选,在字索引筛选时,每个拆分字的索引之间若主键ID相同,位置索引递增1则为模糊查询出的内容。
作为优选,在字索引筛选时,可以对字索引筛选过程进行修改,实现关系型数据库对所支持的对前模糊匹配、对后模糊匹配及排序。
作为优选,若只对前模糊匹配,只需要对筛选出的字索引最后判断位置信息和长度是否相等,若只对后模糊匹配,只需要关注第一个要匹配的字索引位置信息是否为1,若不为1,表示该字在中文词语中的位置不是1,则不符合条件。
作为优选,对模糊匹配度高的中文词语靠前排序时,只需对匹配值进行排序,匹配值的计算公式如下:
匹配值=输入关键词的字符长度/匹配中文词语的字符长度*100%。
一种中文关键词模糊查询的索引创建系统,该系统包括字索引的创建模块和字索引的查询模块;
字索引的创建模块用于将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引;
字索引的查询模块用于输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语。
与现有技术相比,本发明的中文关键词模糊查询的索引创建方法具有以下突出的有益效果:所述中文关键词模糊查询的索引创建方法中,索引信息存入Map集合中形成字索引,对输入的关键词进行字拆分后去Map集合中进行字索引查询,这样能充分利用拆分字转换的hash值高效查询出关键词的所有字索引,经过索引筛选后找到匹配的主键索引,这样就把模糊查询转为主键索引查询,避免了关系型数据库自身模糊查询效率低的问题,经过实践验证,3700万数据的中文关键词模糊查询都在秒级以内,具有良好的推广应用价值。
附图说明
图1是本发明所述中文关键词模糊查询的索引创建方法及系统的过程示意图。
具体实施方式
下面将结合附图和实施例,对本发明的中文关键词模糊查询的索引创建方法及系统作进一步详细说明。
实施例
如图1所示,本发明的中文关键词模糊查询的索引创建方法,将需要进行模糊查询的中文词语按照字进行拆分,并创建每个字在该中文词语中的索引信息,当中文词语模糊查询时,通过字索引快速查询出匹配中文词语的主键,并根据中文词语的主键从关系型数据库中查询出匹配内容。
该方法具体包括以下步骤:
S1、字索引的创建:将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引。
字索引的创建过程中,为每个出现的字创建索引,存入Map集合中形成字索引。
所述字索引的索引信息包含中文词语的主键ID、该字在中文词语中的位置及中文词语的字符长度。举例如下表1所示:
表1中文词语信息
主键ID 中文词语名称
001 心脏肿瘤
002 心脏病
表1为关系型数据库中存储的中文词语,包括主键ID、中文词语名称等。对其中的中文词语名称按字进行拆分,并建立每个字的索引信息,形如‘主键ID#字在该中文词语中的位置#中文词语字符长度’。
把创建好的拆分字作为key,索引信息作为value存入Map集合中形成字索引,结构如下图:
{“心”:[”001#1#4”,”002#1#3”],
“脏”:[”001#2#4”,”002#2#3”],
“肿”:[”001#3#4”],
“瘤”:[”001#4#4”],
“病”:[”002#3#3”]
}
S2、字索引的查询:输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语。
如输入一个中文关键词,然后对该关键词按字进行拆分,在Map集合中查询每一个拆分字的索引,如输入‘心脏’,查询到的字索引如下:
{
“心”:[”001#1#4”,”002#1#3”],
“脏”:[”001#2#4”,”002#2#3”]
}
字索引的查询过程中,通过字索引筛选查询出匹配中文词语的主键ID,根据主键ID查询出关系型数据库中匹配的内容。
在字索引筛选时,每个拆分字的索引之间若主键ID相同,位置索引递增1则为模糊查询出的内容。如下表2所示:
表2索引筛选匹配对
001#1#4 001#2#4
001#1#4 002#2#3
002#1#3 001#2#4
002#1#3 002#2#3
如果主键ID相同,位置索引递增1,字符长度相同则为匹配出的字索引,因此“001#1#4”和“001#2#4”为两个匹配的索引,“002#1#3”和“002#2#3”为两个匹配的索引,筛选结果如表3所示:
表3筛选后的匹配对
001#1#4 001#2#4
002#1#3 002#2#3
还可以对字索引筛选过程进行修改,实现关系型数据库对所支持的对前模糊匹配、对后模糊匹配及排序。
对上述的索引筛选,实现的是对前和对后的通用模糊匹配,根据实际业务的需求可能只实现对前模糊匹配或对后模糊匹配,并把匹配度高的中文词语靠前排序。
若只对前模糊匹配,只需要对筛选出的字索引最后判断位置信息和长度是否相等。如表3中第一个匹配索引最后索引信息为‘001#2#4’,位置信息为2,但字符长度为4,则该索引不符合条件。
若只对后模糊匹配,只需要关注第一个要匹配的字索引位置信息是否为1,若不为1,表示该字在中文词语中的位置不是1,则不符合条件。如表四中‘001#1#4’和‘002#1#3’的位置信息都为1,则都是符合对后模糊匹配的结果。
对模糊匹配度高的中文词语靠前排序时,只需对匹配值进行排序,匹配值的计算公式如下:
匹配值=输入关键词的字符长度/匹配中文词语的字符长度*100%。
本发明的中文关键词模糊查询的索引创建系统,该系统包括字索引的创建模块和字索引的查询模块。
字索引的创建模块用于将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引。
字索引的查询模块用于输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (2)

1.一种中文关键词模糊查询的索引创建方法,其特征在于:该方法将需要进行模糊查询的中文词语按照字进行拆分,并创建每个字在该中文词语中的索引信息,当中文词语模糊查询时,通过字索引快速查询出匹配中文词语的主键,并根据中文词语的主键从关系型数据库中查询出匹配内容,具体包括以下步骤:
S1、字索引的创建:将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引;
S2、字索引的查询:输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语;
其中,字索引的创建过程中,为每个出现的字创建索引,存入Map集合中形成字索引,所述字索引的索引信息包含中文词语的主键ID、该字在中文词语中的位置及中文词语的字符长度,字索引的查询过程中,通过字索引筛选查询出匹配中文词语的主键ID,根据主键ID查询出关系型数据库中匹配的内容,在字索引筛选时,每个拆分字的索引之间若主键ID相同,位置索引递增1则为模糊查询出的内容,在字索引筛选时,可以对字索引筛选过程进行修改,实现关系型数据库对所支持的对前模糊匹配、对后模糊匹配及排序,若只对前模糊匹配,只需要对筛选出的字索引最后判断位置信息和长度是否相等,若只对后模糊匹配,只需要关注第一个要匹配的字索引位置信息是否为1,若不为1,表示该字在中文词语中的位置不是1,则不符合条件,对模糊匹配度高的中文词语靠前排序时,只需对匹配值进行排序,匹配值的计算公式如下:匹配值=输入关键词的字符长度/匹配中文词语的字符长度*100%。
2.一种中文关键词模糊查询的索引创建系统,其特征在于:该系统包括字索引的创建模块和字索引的查询模块;
字索引的创建模块用于将关系型数据库中待查询的中文词语进行字拆分,为每个出现的字创建索引,形成字索引;
字索引的查询模块用于输入一个中文词语进行模糊查询时,先对该中文词语进行字拆分,在创建好的字索引中查找匹配的字索引,通过字索引筛选查询出匹配的中文词语;其中,字索引的创建过程中,为每个出现的字创建索引,存入Map集合中形成字索引,所述字索引的索引信息包含中文词语的主键ID、该字在中文词语中的位置及中文词语的字符长度,字索引的查询过程中,通过字索引筛选查询出匹配中文词语的主键ID,根据主键ID查询出关系型数据库中匹配的内容,在字索引筛选时,每个拆分字的索引之间若主键ID相同,位置索引递增1则为模糊查询出的内容,在字索引筛选时,可以对字索引筛选过程进行修改,实现关系型数据库对所支持的对前模糊匹配、对后模糊匹配及排序,若只对前模糊匹配,只需要对筛选出的字索引最后判断位置信息和长度是否相等,若只对后模糊匹配,只需要关注第一个要匹配的字索引位置信息是否为1,若不为1,表示该字在中文词语中的位置不是1,则不符合条件,对模糊匹配度高的中文词语靠前排序时,只需对匹配值进行排序,匹配值的计算公式如下:匹配值=输入关键词的字符长度/匹配中文词语的字符长度*100%。
CN201910375448.4A 2019-05-07 2019-05-07 一种中文关键词模糊查询的索引创建方法及系统 Active CN110134686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910375448.4A CN110134686B (zh) 2019-05-07 2019-05-07 一种中文关键词模糊查询的索引创建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910375448.4A CN110134686B (zh) 2019-05-07 2019-05-07 一种中文关键词模糊查询的索引创建方法及系统

Publications (2)

Publication Number Publication Date
CN110134686A CN110134686A (zh) 2019-08-16
CN110134686B true CN110134686B (zh) 2023-04-21

Family

ID=67576533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910375448.4A Active CN110134686B (zh) 2019-05-07 2019-05-07 一种中文关键词模糊查询的索引创建方法及系统

Country Status (1)

Country Link
CN (1) CN110134686B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625544B (zh) * 2020-05-27 2023-08-01 贵州易鲸捷信息技术有限公司 SQL On HBase上基于字符串切分的倒排索引的方法及系统
CN113076322A (zh) * 2021-04-20 2021-07-06 深圳华南城网科技有限公司 一种商品搜索处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020054B (zh) * 2011-09-20 2016-04-13 深圳市金蝶中间件有限公司 模糊查询方法及系统
CN105550298B (zh) * 2015-12-11 2019-12-10 北京搜狗科技发展有限公司 一种关键词模糊匹配的方法及装置
CN107038207B (zh) * 2017-02-20 2021-03-19 创新先进技术有限公司 一种数据查询方法、数据处理方法及装置
CN107808006B (zh) * 2017-11-16 2021-10-26 中国工商银行股份有限公司 基于大数据量的模糊查询方法、设备以及系统

Also Published As

Publication number Publication date
CN110134686A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN107273506B (zh) 一种数据库多表联合查询的方法
US10970315B2 (en) Method and system for disambiguating informational objects
CN103761318B (zh) 一种关系型异构数据库数据同步的方法及系统
US6397204B1 (en) Method, system, and program for determining the join ordering of tables in a join query
US7953724B2 (en) Method and system for disambiguating informational objects
Chakrabarti et al. Ranking objects based on relationships
US20190042624A1 (en) Computer-implemented method for improving query execution in relational databases normalized at level 4 and above
US9665607B2 (en) Methods and apparatus for organizing data in a database
US20030097354A1 (en) Method and system for index sampled tablescan
US20110302187A1 (en) Schema definition generating device and schema definition generating method
CN110134686B (zh) 一种中文关键词模糊查询的索引创建方法及系统
CN111026710A (zh) 一种数据集的检索方法及系统
CN106777343A (zh) 增量分布式索引系统和方法
CN102117318A (zh) 一种企业信息化系统的数据处理方法
Hadjieleftheriou et al. Efficient approximate search on string collections
CN107169003B (zh) 一种数据关联方法及装置
CN105824956A (zh) 一种基于链表结构的倒排索引模型及其构建方法
US8046377B2 (en) Method for calculating distributed joins in main memory with minimal communicaton overhead
CN103399952A (zh) 一种基于关键词的关系数据库检索系统及方法
Stockinger et al. Using bitmap index for joint queries on structured and text data
CN105868406A (zh) 基于多数据库的专利检索系统
Wang et al. A provenance storage method based on parallel database
Hartzman et al. A relational approach to querying data streams
Gu et al. Extending keyword search to metadata on relational databases
Xu Dynamic Optimization Analysis of Keyword Query Results in Relational Databases Based on Ant Colony Optimization Algorithm

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
TA01 Transfer of patent application right

Effective date of registration: 20230406

Address after: S02 Building, 1036 Langchao Road, High-tech Zone, Jinan, Shandong Province, 250000

Applicant after: INSPUR GROUP Co.,Ltd.

Applicant after: Shandong Langchao Intelligent Medical Technology Co.,Ltd.

Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province

Applicant before: INSPUR GROUP Co.,Ltd.

Applicant before: SHANDONG HEALTH MEDICAL BIG DATA Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant