基于配置的词典扩充
IK 分词器还支持通过配置IKAnalyzer.cfg.xml 文件来扩充您的专有词典以及停止词典(过滤词典)。
步骤如下:
1. 部署IKAnalyzer.cfg.xml
IKAnalyzer.cfg.xml 部署在代码根目录下( 对于web 项目, 通常是WEBINF/classes 目录)同hibernate、log4j 等配置文件相同。
2. 词典文件的编辑与部署
分词器的词典文件格式是无BOM 的UTF-8 编码的中文文本文件,文件扩展名不限。词典中,每个中文词汇独立占一行,使用\r\n 的DOS 方式换行。
(备注,如果您不了解什么是无BOM 的UTF-8 格式, 请保证您的词典使用UTF-8 存储,并在文件的头部添加一空行)。
您可以参考分词器源码org.wltea.analyzer.dic 包下的.dic 文件。
词典文件应部署在Java 的资源路径下,即ClassLoader 能够加载的路径中。(推荐同IKAnalyzer.cfg.xml 放在一起)
3. IKAnalyzer.cfg.xml 文件的配置
在配置文件中,用户可一次配置多个词典文件。文件名使用“;”号分隔。文件路径为相对java 包的起始根路径。
参考:IKAnalyzer中文分词器V3.2.3使用手册.pdf (见附件)
4. 同义词扩展
直接在solr_应用 下 \conf\synonyms.txt
备注: 添加中文在synonyms.txt后,Tomcat启动报错,不能读取文件。
原因:使用SOLR加入中文同义词需要把synonyms.txt的默认编码改成与自己系统使用的编码一致。
例如:你整个系统的编码都是用UTF-8,那么你就要把synonyms.txt这个文件的编码格式转换成UTF-8。原因是,对某个词进行同义的时候找到的词是乱码,而乱码在对于的索引中是没有存在的。这也就导致了中文不可以使用的原因。
解决方法:在eclipse里把synonyms.txt文件编码格式转成UTF-8(系统默认UTF-8),然后再输入中文同义词,保存,重启tomcat,问题解决。