当前位置: 首页 > 专利查询>徐文新专利>正文

位标记字符串检索技术制造技术

技术编号:2861326 阅读:207 留言:0更新日期:2012-04-11 18:40
本发明专利技术是一种字符串模糊检索技术,方法是将组成字符串的基本字符分为m组,并用有m个bit的数据W来标记组成字符串的基本字符信息。如果字符串S的一个基本字符C1属于第n组,则将数据W自右至左(也可以是自左至右)的第n个bit标记为1,类似地,根据其它基本字符C2、C3、C4…所属的组对数据W进行标记,标记可以用位的“或”(or)运算进行。完成全部基本字符标记后的数据W,记录有字符串S的信息,称为字符串S的“位值”。用一个长整数的32个bit中符号位之外的31个bit可以对一般数据库字符串有效地进行标记。对于记录条数很多、字符串平均长度比较长的数据库,可以用bit位数更多的数据类型进行标记。对字符串Sn的“位值”Wn与待检索字符串T的“位值”Wt进行位的“和”(and)运算,其结果称为Wg。如果Wg等于Wt,则“位值”Wn等于或包含Wt。由于不同的字符串可能有相同的位值,在利用“位值”运算对数据库记录进行筛选得到初步结果集R1,再用通常的字符逐位比较方式作二次检索,得出最终的检索结果集R2。

【技术实现步骤摘要】

本专利技术是一种字符串模糊检索技术,目的是提高数据库字符串模糊检索的速度。方法是将组成字符串的基本字符分为m组,并用有m个bit的数据W来标记组成字符串的基本字符信息。如果字符串S的一个基本字符C1属于第n组,则将数据W自右至左(也可以是自左至右)的第n个bit标记为1,类似地,根据其它基本字符C2、C3、C4…所属的组对数据W进行标记,标记可以用位的“或”(or)运算进行。完成全部基本字符标记后的数据W,记录有字符串S的信息,称为字符串S的“位值”。对字符串Sn的“位值”Wn与待检索字符串T的“位值”Wt进行位的“和”(and)运算,其结果称为Wg。如果Wg等于Wt,则“位值”Wn等于或包含Wt。由于不同的字符串可能有相同的位值,在利用“位值”运算对数据库记录进行筛选得到初步结果集R1,再用通常的字符逐位比较方式作二次检索,得出最终的检索结果集R2。
技术介绍
目前数据库字符串模糊检索采用逐位比较方式进行,如判断字符串bdopfqew中是否包含字符f,计算机以f对字符串bdopfqew从头至尾进行逐位比较,效率不高。 2004年10月19日,本人申请了“质数代换字符串检索技术”专利,申请号200410067258.X,该方法有效地提高了字符串模糊检索的速度,但对于长字符串实施“质数代换字符串检索”,需要用多个字段的整数来记录质数乘积,对存贮空间需求较多。为了提高字符串模糊检索的速度,并减少对存贮空间的需求,本专利技术提出用若干个位(bit)来标记字符串的组成信息,对数据库完成标记后,利用位的“和”运算对记录作初步筛选,在初步结果中再利用逐位比较方式检索出最终结果。
技术实现思路
本专利技术是一种字符串模糊检索技术,方法是将组成字符串的基本字符分为m组,并用有m个bit的数据W来标记组成字符串的基本字符信息。其过程有二,一利用位的“或”运算对字符串进行标记;二,利用位的“和”运算进行检索,下面说明实现原理 收入GBK范围的21000个汉字及其它符号,均有内码,根据内码将全部汉字及其它符号分为31组,对于第n组赋与值2n-1。从二进制来看,每组在自右至左的第n个bit上为1,而其余bit为0,称之为“基本位值”。组数值基本位值110000000000000000000000000000000122000000000000000000000000000000103400000000000000000000000000000100480000000000000000000000000000100051600000000000000000000000000010000632000000000000000000000000001000007640000000000000000000000000100000081280000000000000000000000001000000092560000000000000000000000010000000010512000000000000000000000010000000001110240000000000000000000001000000000012204800000000000000000000100000000000134096000000000000000000010000000000001481920000000000000000001000000000000015163840000000000000000010000000000000016327680000000000000000100000000000000017655360000000000000001000000000000000018131072000000000000001000000000000000001926214400000000000001000000000000000000205242880000000000001000000000000000000021104857600000000000100000000000000000000222097152000000000010000000000000000000002341943040000000001000000000000000000000024838860800000000100000000000000000000000 25167772160000000100000000000000000000000026335544320000001000000000000000000000000027671088640000010000000000000000000000000028134217728000010000000000000000000000000002926843545600010000000000000000000000000000305368709120010000000000000000000000000000031107374182401000000000000000000000000000000 设有字符串“大漠孤烟直长河落日圆”,则汉字内码组数值基本位值大22823812800000000000000000000000010000000漠2844822209715200000000001000000000000000000000孤2339623419430400000000010000000000000000000000烟288954800000000000000000000000000001000直3045211102400000000000000000000010000000000长27265176553600000000000000010000000000000000河2782721104857600000000000100000000000000000000落316832200000000000000000000000000000010日26085151638400000000000000000100000000000000圆22278211048576000000000001000000000000000000008471690 整个字符串的位值742311400000000011100010100010010001010 对“大、漠、孤、烟、直、长、河、落、日、圆”十个字符的位值做“或”(or)运算,可以得到整个字符串的“位值”00000000011100010100010010001010。 另一个方面,字符串“大漠孤烟直长河落日圆”的总值为8471690,去除“河”与“圆”的一个重复值1048576,净值为7423114。它与00000000011100010100010010001010是对应的。 用此种方法可以得到任何字符串的“位值”,“白云千载空悠悠”的“位值”为00100010000001001010000000010000。 而“长河落日”的“位值”是00000000000100010100000000000010。 判断字符串Sn的“位值”Wn是否本文档来自技高网
...

【技术保护点】
一种字符串模糊检索技术,其特征在于:将组成字符串的基本字符分为m组,并用有m个bit的数据W来标记组成字符串的基本字符信息。如果字符串S的一个基本字符C1属于第n组,则将数据W自右至左(或自左至右)的第n个bit标记为1,类似地,根据其它基本字符C2、C3、C4…所属的组对数据W进行标记,完成全部基本字符标记后的数据W,记录有字符串S的信息,称为字符串S的“位值”。对字符串Sn的“位值”Wn与待检索字符串T的“位值”Wt进行比较,如果Wn等于或包含Wt,则字符串Sn可能等于或包含字符串T,从而实现字符串的模糊检索。

【技术特征摘要】
1.一种字符串模糊检索技术,其特征在于将组成字符串的基本字符分为m组,并用有m个bit的数据W来标记组成字符串的基本字符信息。如果字符串S的一个基本字符C1属于第n组,则将数据W自右至左(或自左至右)的第n个bit标记为1,类似地,根据其它基本字符C2、C3、C4…所属的组对数据W进行标记,完成全部基本字符标记后的数据W,记录有字符串S的信息,称为字符串S的“位值”。对字符串Sn的“位值”Wn与待检索字符串T的“位值”Wt进行比较,如果Wn等于或包含Wt,则字符串Sn可能等于或包含字符串T,从而实现字符串的模糊检索。2.按照权利要求1所述的方法,其特征在于标记可以先给各组基本字符赋与相应的第n个bit为1而其余bit为0的“基本位值”,对一个字符串的全部基本字符的“基本位值”进行位的“或”(or)运算,得到一个字符串的“位值”。3.按照权利要求1所述的方法,其特征在于比较两个“位值”是否有包含关系,可用位的“和”(and)运算进行。对字符串Sn的“位值”Wn与字符串T的“位值,,Wt进行位的“和”(and)运算,结果称为Wg,如果Wg等于Wt,则Wn等于或包含Wt。4.按照权利要求1所述的方法,其特征在于由于不同的字符串可能有相同的“位值”,故利用“位值”运算对数据库记录进行筛选得到初步结果R1,再用通常的字符逐位比较方式作二次检索,得出最终的检索结果R2。5.按照权利要求1所述的方法,其特征在于对于一般语词、词组、专有名词数据库来说,用一个长整数的32个bit中符号位之外的31个b...

【专利技术属性】
技术研发人员:徐文新
申请(专利权)人:徐文新
类型:发明
国别省市:31[中国|上海]

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

1