摘要 |
本发明是一种字符串存贮、索引、模糊检索技术。首先对数据库字符串按字符元进行统计分析,并根据数据库状况决定标记方案。按标记位值V<SUB>n</SUB>建立索引表,若按标记位值V<SUB>n</SUB>聚集存贮后建立索引表则性能更好,称为双表处理;也可将数据库,按标记位值V<SUB>n</SUB>重新组织存贮,即单表处理。检索时,先对检索关键词进行标记,取得位值V<SUB>t</SUB>:双表处理,以V<SUB>t</SUB>与索引表中的标记位值V<SUB>n</SUB>进行位比较,按符合位比较条件的标记位值V<SUB>n</SUB>,在句型数据库中查找V<SUB>n</SUB>,或W<SUB>n</SUB>,对查找到的记录,按需要,与检索关键词进行W位值比较、质数代换整除或通常的字符串模糊匹配等处理;单表处理,以V<SUB>t</SUB>与表中的标记位值V<SUB>n</SUB>进行位比较,对符合位比较条件的V<SUB>n</SUB>的各字符串字段D<SUB>n</SUB>或其对应的信息字段F<SUB>n</SUB>、W<SUB>n</SUB>,按需要,与检索关键词进行通常的字符串模糊匹配、质数代换整除、W位值比较等处理。在CPU赛扬800Hz,内存256M,810主板,硬盘40G测试,检索每条字符串5个汉字、2,035,454条字符串、10,177,270个汉字的表,由于数据库不能全部读入内存,对于每个关键词,必须从硬盘读入部分数据,第一次响应时间为0.9秒,第二次以后,响应时间为0.14至0.18秒。在位标记字符串检索的速度上再提高了一个数量级,可用于自然语言处理中快速查找参考句型,其它方面的字符串模糊检索也可以应用。 |