`

solr中使用IKAnalysizer 基于配置的自定义词典扩充

    博客分类:
  • solr
 
阅读更多

 

基于配置的词典扩充

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,问题解决。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics