CN106484684B - 一种对数据库中的数据进行术语匹配的方法 - Google Patents
一种对数据库中的数据进行术语匹配的方法 Download PDFInfo
- Publication number
- CN106484684B CN106484684B CN201610884071.1A CN201610884071A CN106484684B CN 106484684 B CN106484684 B CN 106484684B CN 201610884071 A CN201610884071 A CN 201610884071A CN 106484684 B CN106484684 B CN 106484684B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- string
- term
- database
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- 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
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;其中,所述建索引的步骤如下:遍历数据库,根据源字符串和目标字符串生成双数组字典树;将字符串数据插入双数组字典树,实现字符串数据的一级索引;建立二级索引ID与字符串数据在数据库里所在的数据记录的关键字字段的对应关系,用于实现字符串数据的二级索引;将二级索引保存到内存缓存系统;其中,所述用索引进行术语查询匹配的步骤如下:根据二级索引ID查询出该字符串在数据库里对应的数据记录的对象ID以及术语库ID,以对象ID以及术语库ID进行查询并获取查询结果。既可以满足术语匹配的多种查询需求,又提高了整体匹配的性能。
Description
技术领域
本发明属于计算机通信领域,尤其涉及一种对数据库中的数据进行术语匹配的方法。
背景技术
当前计算机辅助翻译是提高翻译一致性和效率的重要手段,它要求软件能够不断地记忆最新的术语及语料,并且在后续的翻译流程中能够及时地调出满足相应条件的术语或语料以供选择。随着术语和语料规模的不断扩大,基于传统的关系型数据库或是目前较新的非关系型数据库来直接根据原文或译文检索出完整的翻译信息都是会有明显的效率下降的,当处理比较大的待译稿时,速度自然不能接受。以mongo数据库为例,每一个文档记录都包含文档ID,原文,译文以及其他辅助信息,有些原文或译文比较长,就不适合作为索引字段,而文档ID是mongo的默认全局唯一16进制索引字段,基于文档ID的查询会非常快。基于此,我们可以实现一种外围索引,将原文或译文通过该索引与文档ID对应起来,要求外围索引支持可存储的任意长度的原文或译文,并且要足够高效。
结合双数组字典树,辅以redis缓存和适当的数据结构设计,我们可以构建出这样一套满足需求的索引及匹配系统。采用双数组字典树对术语建立外围索引,然后用将双数组建立的索引与mongo数据库里每条术语记录的ObjectId(相当于数据库关键字字段)相关联并将这种对应关系存放于redis作为二级索引缓存,最终加快对mongo数据库的查询速度。
发明内容
本发明所要解决的技术问题是目前基于数据库的术语匹配引擎在查词效率上速度偏慢,而改善这一问题的办法就是对数据库里的术语建一个快速索引,引入双数组字典树可以解决大量术语建索引慢以及查询慢的问题。
为解决上述技术问题,本发明提供了一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括源字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出二级索引ID,将二级索引ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立二级索引ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引ID,根据二级索引ID在内存缓存系统里查出数据库内部已建立索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
进一步,所述内存缓存系统是在术语语料所在的数据库之外。
进一步,还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,所述数据库为mongo数据库。
进一步,所述索引为双向索引。
采用上述技术方案,可达到以下效果:
1.用双数组字典树对术语建立外围索引,然后用将双数组建立的索引与mongo数据库里每条术语记录的ObjectId(相当于数据库关键字字段)相关联并存放于redis作为二级索引缓存,最终加快对mongo数据库的查询速度;
2.基于双数组字典树和内存缓存系统来存放外围索引信息,将较长的原文或译文映射为数据库内全局唯一且带有快速索引的记录ID字段,从而加速了术语的匹配,同时借助双数组的特性,也具备分词,前缀查询等翻译行业所需的功能;
既可以满足术语匹配的多种查询需求,又提高了整体匹配的性能,对于可以带来较好的用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种对数据库中的数据进行术语匹配的方法的流程示意图;
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步具体说明。
为解决上述技术问题,本发明提供了一种对数据库中的数据进行术语匹配的方法,如图1所示,
包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括源字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出二级索引ID,将二级索引ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立二级索引ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引ID,根据二级索引ID在内存缓存系统里查出数据库内部已建立索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
进一步,所述内存缓存系统是在术语语料所在的数据库之外。
进一步,还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
进一步,所述数据库为mongo数据库。
进一步,所述索引为双向索引。
直接从数据库里查术语往往速度很慢,需要对数据库里的术语建立高效的外围索引,在这里就包含基于双数组的一级索引和基于内存缓存系统的二级索引.
内存缓存系统里二级索引的ID即内存缓存系统里的键名.
基于双数组字典树和内存缓存系统来存放外围索引信息,将较长的原文或译文映射为数据库内全局唯一且带有快速索引的记录ID字段,从而加速了术语的匹配,同时借助双数组的特性,也具备分词,前缀查询等翻译行业所需的功能。
本领域技术人员还应当理解,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种对数据库中的数据进行术语匹配的方法,其特征是包括建索引的步骤,及用索引进行术语查询匹配的步骤;
其中,所述建索引的步骤如下:
遍历数据库,获取字符串数据,所述字符串数据包括源字符串或目标字符串;
根据源字符串和目标字符串生成双数组字典树;
将字符串数据插入双数组字典树,返回字符串数据在双数组字典树里的位置值,并通过位置值计算得出二级索引ID,将二级索引ID放入内存缓存系统里,用于实现字符串数据的一级索引;
建立二级索引ID与字符串数据在数据库内部已建立索引的数据记录的关键字段的对应关系,用于实现字符串数据的二级索引;
将二级索引保存到内存缓存系统;
其中,所述用索引进行术语查询匹配的步骤如下:
从双数组字典树中查询需要的字符串,得出该字符串在双数组字典树里的位置值,根据该位置值算出内存缓存系统里二级索引ID,根据二级索引ID在内存缓存系统里查出数据库内部已建立索引的关键字段,然后根据取到的关键字段进行查询并获取查询结果。
2.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述内存缓存系统是在术语语料所在的数据库之外。
3.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是还包括定时将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
4.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是还包括当索引达到数量阈值后将保存到内存缓存系统中的字符串数据的一级索引和二级索引写入硬盘。
5.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述数据库为mongo数据库。
6.根据权利要求1所述的一种对数据库中的数据进行术语匹配的方法,其特征是所述索引为双向索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610884071.1A CN106484684B (zh) | 2016-10-11 | 2016-10-11 | 一种对数据库中的数据进行术语匹配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610884071.1A CN106484684B (zh) | 2016-10-11 | 2016-10-11 | 一种对数据库中的数据进行术语匹配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484684A CN106484684A (zh) | 2017-03-08 |
CN106484684B true CN106484684B (zh) | 2019-04-05 |
Family
ID=58270720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610884071.1A Active CN106484684B (zh) | 2016-10-11 | 2016-10-11 | 一种对数据库中的数据进行术语匹配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484684B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239510B (zh) * | 2017-05-12 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN108228817B (zh) | 2017-12-29 | 2021-12-03 | 华为技术有限公司 | 数据处理方法、装置和系统 |
CN111062682B (zh) * | 2019-11-19 | 2023-11-07 | 泰康保险集团股份有限公司 | 一种工单处理方法和装置 |
CN111444413B (zh) * | 2020-04-08 | 2023-05-12 | 作业不凡(北京)教育科技有限公司 | 一种数据查询方法、装置和计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140570A (zh) * | 2006-09-04 | 2008-03-12 | 富士施乐株式会社 | 翻译装置、翻译方法以及计算机可读介质 |
CN101183369A (zh) * | 2007-12-11 | 2008-05-21 | 中山大学 | 一种嵌入式电子词典词库结构 |
CN103823814A (zh) * | 2012-11-19 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置 |
CN104252528A (zh) * | 2014-09-04 | 2014-12-31 | 国家电网公司 | 基于标识符空间映射的大数据二级索引构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251289B2 (en) * | 2011-09-09 | 2016-02-02 | Microsoft Technology Licensing, Llc | Matching target strings to known strings |
-
2016
- 2016-10-11 CN CN201610884071.1A patent/CN106484684B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140570A (zh) * | 2006-09-04 | 2008-03-12 | 富士施乐株式会社 | 翻译装置、翻译方法以及计算机可读介质 |
CN101183369A (zh) * | 2007-12-11 | 2008-05-21 | 中山大学 | 一种嵌入式电子词典词库结构 |
CN103823814A (zh) * | 2012-11-19 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置 |
CN104252528A (zh) * | 2014-09-04 | 2014-12-31 | 国家电网公司 | 基于标识符空间映射的大数据二级索引构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106484684A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484684B (zh) | 一种对数据库中的数据进行术语匹配的方法 | |
US6792414B2 (en) | Generalized keyword matching for keyword based searching over relational databases | |
CN102122285B (zh) | 一种数据缓存系统中的数据查询系统和数据查询方法 | |
US6801904B2 (en) | System for keyword based searching over relational databases | |
US8175875B1 (en) | Efficient indexing of documents with similar content | |
CN105117417B (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
CN106649286B (zh) | 一种基于双数组字典树进行术语匹配的方法 | |
US20040205044A1 (en) | Method for storing inverted index, method for on-line updating the same and inverted index mechanism | |
US20120130997A1 (en) | Hybrid-distribution model for search engine indexes | |
CN101021875A (zh) | 面向对象的数据库访问方法及系统 | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
US6826555B2 (en) | Open format for file storage system indexing, searching and data retrieval | |
CN109857898A (zh) | 一种海量数字音频指纹存储与检索的方法及系统 | |
CN104731945A (zh) | 一种基于HBase的全文检索方法及装置 | |
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
CN102629269A (zh) | 一种嵌入式数据库的检索及存储方法 | |
US6981002B2 (en) | Docubase indexing, searching and data retrieval | |
CN104462421A (zh) | 基于键-值数据库的多租户扩展方法 | |
CN103914570A (zh) | 基于字符串相似度算法的智能客服搜索方法与系统 | |
CN106503195A (zh) | 一种基于搜索引擎的翻译词库检索方法及系统 | |
CN105912696A (zh) | 一种基于对数归并的dns索引创建方法及查询方法 | |
CN105404677A (zh) | 一种基于树形结构的检索方法 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN110019306A (zh) | 一种基于xml格式文件的sql语句查找方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |