ShuzhenAnalyzer是一款基于字典的中文分词器,您现在看到的是1.1.4版本
此版本特性及功能:
1、分词采用完全匹配(自命名)方式,也就是只要是符合字典系统中条目的就全部匹配出来
2、基于字典系统分词,字典系统的存放介质由使用者自由配置,既可以将字典系统只配置在JDBM系统中,也可以将字典系统只配置在内存系统中,也可以两者结合在一起使用,
当两者结合一起使用的时候,优先调用内存字典系统,当且仅当在内存字典系统中没有找到匹配项时才调用JDBM字典系统;
3、字典系统条目数量理论上可以趋于无穷多而绝不会出现内存溢出现象(在使用者理性配置的前提下,因为如果使用者配置为字典系统只采用内存,而条数过多情况下是会内存溢出的)
4、即使仅仅采用JDBM字典系统,索引创建及搜索速度受字典条目数量影响也是非常小的,速度也很快
5、可以很方便对字典系统进行管理,管理功能如下:
5.1、往字典系统中增加单个条目
5.2、往字典系统中增加多个条目
5.3、利用txt文件往字典系统中批量增加多个条目
5.4、删除字典系统中指定的某一个条目
5.5、判断字典系统中是否已存在某一条目
6、对搜索词提供了两种处理方式,可以更好地应用在不同需求的系统中,提高搜索结果
的质量
如:搜索词为:1949年10月1日,中华人民共和国在\"北京\"宣-告成立
那么用两种方式分别对此搜索词进行处理过的结果如下:
第一种处理后的结果:1949 10 1 中华 中华人民 中华人民共和国 华人 人民 人民共和国 共和 共和国 "北京" -告成 成立
第二种处理后的结果:1949 年 10 月 1 日 中华 中华人民 中华人民共和国 华人 人民 人民共和国 共和 共和国 在 "北京" 宣 -告成 成立
7、去掉了分词时的英文停留词,因为目前感觉没有多大意义
8、分词时严格按照分词标准来进行,在与类似HighLighter等高亮显示器使用时,能准确高亮显示出命中,这一点避免了Google搜索中高亮显示的BUG
使用说明:
1、解压开压缩包后,可以见到两个jar包:ShuzhenAnalyzer-1.1.4.jar和jdbm-1.0.jar,将这两个jar包导入到你的系统中即可(ShuzhenAnalyzer-1.1.4.jar的目录结构为net/shuzhen/*.class)
2、不论是否采用字典系统,在调用分词器的时候,均可以这种形式,例如:IndexWriter writer = new IndexWriter(path,new ShuzhenAnalyzer(), true);
3、配置文件为:shuzhen.properties ,从1.1.4版本开始支持相对路径配置(所有配置文件均存放在WEB-INF/classes,也就是类根目录下),以下是shuzhen.properties里面的配置例子:
3.1、pDict=dict/dict.txt
配置字典文件dict.txt的存放位置,里面存放的字典条目会存入到jdbm中,如果配置了内存字典系统,也会导入到内存中,
实际分词时,是基于jdbm字典系统或内存字典系统而不是txt文件,左边的pDict不能改变,右边的路径表示为:WEB-INF/classes/dict/dict.txt,存放路径只要是在WEB-INF/classes下可以自定义
3.2、mDict=dict/mdict.txt
批量导入字典条目时用到,格式与dict.txt一样,左边的mDict不能改变,右边的存放路径如上表示为WEB-INF/classes/dict/mdict.txt,存放路径只要是在WEB-INF/classes下可以自定义
3.3、kPath=keysgroup/keysgroup
字典系统存放位置,也就是jdbm系统的存放位置,左边的kPath不能变,右边的keysgroup/keysgroup也不能变,表示WEB-INF/classes/keysgroup,不能自定义修改
3.4、shuzhen.properties的存放位置:存放位置为系统的类根目录,比如web系统的类根目录为:WEB-INF/classes,则将shuzhen.properties放在WEB-INF/classes下
4、配置是否采用内存字典系统或采用的话导入多少个条目到内存字典系统中
在shuzhen.properties中进行配置,配置项为maxKeyNumMemory,其值含义为:
maxKeyNumMemory=0 表示不采用内存字典系统
maxKeyNumMemory=-1 表示将dict.txt中的字典条目全部导入到内存字典系统中
maxKeyNumMemory为大于0的整数,则表示要导入到内存字典系统中的字典条目数量
maxKeyNumMemory除上面以外的任何值包括为空都表示不采用内存字典系统
5、系统自带有一个dict.txt,里面预录了有220199个字典条目
6、此版本用到了jdbm包,在1.1.4版本中包含了jdbm包,但您也可以自行去下载JDBM,其下载及介绍页面见:http://www.zihou.com/bbs/read.php?tid-34.html
****关于功能使用Demo,请参见随带的ShuzhenDemo.java****
...展开收缩
评论共有1条