使用快速查询索引结构的电子字典单词查询方法技术

技术编号:2884875 阅读:371 留言:0更新日期:2012-04-11 18:40
一种使用快速查询索引结构的电子字典的单词查询方法,该快速查询索引结构包括单词索引数据部,二次索引数据部以及单词相关内容索引数据部。该方法根据用户的输入单词,查询单词数据库和单词内容相关数据库,利用二次索引数据部的定位特性,加速查询速度,减少查询范围和次数,提高查询功能。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种,特别涉及利用二次索引数据和单词索引数据所建立的索引结构来快速查询单词,并且能够随着用户逐次输入单词各字母的同时,动态地快速查询数据的单词查询方法。对于电脑上的电子字典来说,一般在用户输入单词的过程中,会利用输入单词的部分内容(例如前几个字母)来查询单词的相关内容,例如释义,同时还必须快速地查询出所输入单词部分内容的后续单词。换言之,每当用户输入待查询单词的任何一个字母时,电子字典就必须执行一遍查询动作,因此查询动作的快慢势必影响到用户对于电子字典整体性能的感觉。附图说明图1表示传统电子字典执行动态单词查询的索引数据结构以及查询处理步骤的数据流图。其中,10表示用户所输入的单词,其可能是完整的待查询单词亦或是待查询单词的部分输入内容。20是单词索引数据,30则是单词数据库,图2表示单词数据库30的结构。其中,单词数据库30储存所有可查询的单词,而单词索引数据20则是用来储存指出某个单词在单词数据库30的储存位置的索引值。举例来说,如果单词数据库30中的所有可查询单词以连续方式储存,则单词“a”在单词索引数据20中对应项目的索引值设为0,单词“aardvark”在单词索引数据20中对应项目的索引值设为1(前一单词为单字母),单词“aardwolf”在单词索引数据20中对应项目的索引值设为9(前两个单词合计有9个字母),其余依此类推。40是单词相关内容索引数据,50是单词相关内容数据库。单词相关内容数据库50是用来储存所有可查询单词所对应到的内容,包括释义,文法等等信息;而单词相关内容索引数据40则是用来储存指出某个单词相关内容在单词相关内容数据库50的储存位置的索引值。从于单词索引数据20、单词数据库30、单词相关内容索引数据40和单词相关内容数据库50为固定数据,因此在一般电子字典中是利用只读存储器(mask ROM)加以储存。另外,对于包含数万条或是数十万条单词的电子字典而言,单词数据库30和单词相关内容数据库50的数据量非常的大。为了节省储存空间,降低成本,一般会利用数据压缩的方式处理这些数据库。考虑到解压缩效率,一般会采用区块压缩的方式来减少每次解压缩所要处理的数据量。以下说明现有技术单词查询处理流程。当用户输入单词10后,可以先利用折半查询方法来查询出对应的单词索引值。首先透过步骤1,在单词索引数据20中找出第一个和最后一个单词索引值,进行折半查询来找出真正对应此单词10的期望索引值。接着透过步骤2,从单词数据库30中找出对应此期望索引值的期望单词,如果单词数据库为压缩数据时,则在步骤2必须同时进行解压缩的处理。透过步骤3,从所找出的期望单词与单词10进行比较,如果两者相同,则表示已经找到对应的单词索引值;如果两者不同,则更新折半查询范围,重新执行步骤1到步骤3,直到找到真正的对应单词索引值为止。当找到对应单词10的单词索引值后,就可以透过步骤4,从单词相关内容索引数据40找出对应的单词相关内容索引值;再利用所找到的单词相关内容索引值,透过步骤5,从单词相关内容数据库50中找出对应的相关内容。接着以一实例来说明现有技术中的单词查询过程。图3~图6表示使用电子字典输入查询单词“schema”的过程中,电子字典显示查询结果的示意图。在图3中,用户输入查询单词的部分字母“s”,系统会将单词索引数据20的第一项索引值和最后一项索引值之间设定为查询范围,进行连续性的折半查询;当系统查询到单词数据库30内的单词“S”之后,则结束连续性折半查询,再透过单词相关内容索引数据40和单词相关内容数据库50,找出其相关内容以便显示。接着在图4至图6的处理部分也与所述方式一致,用户依序输入“sc”、“sch”、“schema”,系统则利用折半查询方式,连续地进行查询/对比的动作,直到确认查询目标为止。从上述说明的单词查询流程可以发现,整个处理最耗时的部分是找出对应的单词索引值,亦即步骤1至步骤3的循环处理。特别是对于具有十几万或数十万的大字典而言,重复查询的次数非常庞大。如果数据是利用压缩方式储存的,在步骤2的解压缩动作也会耗费相当多的时间,这也正是传统查询方法速度较慢的原因。有鉴于此,本专利技术的主要目的在于提供一种使用电子字典快速查询索引结构的单词查询方法,能够简化用户在逐字输入单词过程中所需要的查询动作,以提高电子字典使用的效率。根据上述的目的,本专利技术提出一种使用电子字典快速查询索引结构的单词查询方法,该电子字典包括中央处理单元,为整个系统的控制中心,控制执行本专利技术方法的各个步骤;输入设备,用于输入用户想要查询的字串;显示设备,用于显示用户输入的字串和查询内容;存储器,其中存放有单词数据库和单词相关内容数据库,该单词数据库包括已排序的多个待查询单词并且该单词相关内容数据库包括分别对应于该待查询单词的多个单词相关内容,该存储器中还存储有电子字典快速查询索引结构,包括(1)单词索引数据部,用来储存对应于待查询单词的多个个单词索引值,单词索引值是用以记录对应的待查询单词在单词数据库中的位置信息;(2)二次索引数据部,用以储存多个个二次索引值,其分别对应于具有预定字母数的有序序列中的各项目,而二次索引值则是用来记录具有与有序序列项目相同的开始字母的待查询单词,其对应的单词索引值在单词索引数据部中的位置信息;以及(3)单词相关内容索引数据部,用以储存对应于单词相关内容的多个个单词相关内容索引值,单词相关内容索引值则是用来记录对应的单词相关内容在单词相关内容数据库中的位置信息。当利用上述索引数据结构来进行单词查询时,中央处理器先根据输入单词中与有序序列的预定字母数相同的开始字母部分,从二次索引部取出第一二次索引值,接着再从二次索引部取出第一二次索引值的下一个的第二二次索引值。接着再以第一二次索引值和第二二次索引值所对应的单词索引值为范围,从单词索引数据部找出对应于输入单词的单词索引值。最后便可以根据对应于输入单词的单词索引值,从单词相关内容索引数据部中找出对应的单词相关内容索引值。按照本专利技术方法的另一方面,当利用上述索引数据结构来进行单词查询时,中央处理器可根据用户所输入的字母长度来做不同的处理。当输入单词的字母数不大于有序序列的预定字母数时,则先根据输入单词,从二次索引部取出第一二次索引值,从二次索引部取出所述第一二次索引值的下一个的第二二次索引值,设定第一二次索引值所对应的第一单词索引值和第二二次索引值所对应的第二单词索引值为一查询范围,接着根据第一二次索引值所对应的第一单词索引值,从单词相关内容索引数据部中找出对应的单词相关内容索引值。另外,当输入单词的字母数大于有序序列的预定字母数时,便可以利用第一单词索引值和第二单词索引值为查询范围,从单词索引数据部找出对应于输入单词的第三单词索引值。将查询到的第三单词索引值取代第一单词索引值,便可以利用取代后的第一单词索引值,从单词相关内容索引数据部中找出对应的单词相关内容索引值。此部分处理则随用户的输入持续进行。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举一优选实施例,并配合附图,作详细说明如下图1表示现有技术电子字典执行动态单词查询的索引数据结构以及查询处理步骤的数据流图。图2表示一般单词数据库结构的示意图。图3~图6表示使用电子本文档来自技高网...

【技术保护点】
一种电子字典的单词查询方法,所述电子字典包括: 中央处理单元,为整个系统的控制中心,控制执行该方法的各个步骤; 输入设备,用于输入用户想要查询的字串; 显示设备,用于显示用户输入的字串和查询内容; 存储器,其中存放有单词数据库和单词相关内容数据库,所述单词数据库包括已排序的多个待查询单词并且所述单词相关内容数据库包括分别对应于所述待查询单词的多个单词相关内容, 其特征在于: 所述存储器中还存储有电子字典快速查询索引结构,包括: 单词索引数据部,用以储存对应于所述待查询单词的多个单词索引值,所述单词索引值用以记录对应的待查询单词在所述单词数据库中的位置信息; 二次索引数据部,用以储存分别对应于预定字母数的有序序列中的项目的多个二次索引值,所述二次索引值用以记录其开始字母与有序序列项目相同的待查询单词,其对应的单词索引值在所述单词索引数据部的位置信息;以及 单词相关内容索引数据部,用以储存对应于所述单词相关内容的多个单词相关内容索引值,其中所述单词相关内容索引值用以记录对应的单词相关内容在所述单词相关内容数据库中的位置信息, 该方法利用所述快速查询索引结构,根据用户的输入单词,查询所述单词数据库和所述单词内容相关数据库,其包括下列步骤: 中央处理单元根据用户从输入设备输入的单词中与所述有序序列的预定字母数相同的开始字母部分,从所述二次索引部取出一第一二次索引值; 中央处理单元从所述二次索引部取出所述第一二次索引值的下一个的第二二次索引值; 中央处理单元以所述第一二次索引值和所述第二二次索引值所对应的单词索引值为范围,从所述单词索引数据部找出对应于所述输入单词的单词索引值;以及 根据对应于所述输入单词的单词索引值,从所述单词相关内容索引数据部中找出对应的单词相关内容索引值。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈淮琰李玲
申请(专利权)人:无敌科技西安有限公司
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1