solr4.7中文分词器(ik-analyzer)配置

来源:互联网 发布:听书什么软件好 编辑:程序博客网 时间:2024/04/29 22:04

solr本身对中文分词的处理不是太好,所以中文应用很多时候都需要额外加一个中文分词器对中文进行分词处理,ik-analyzer就是其中一个不错的中文分词器。


一、版本信息

solr版本:4.7.0

需要ik-analyzer版本:IK Analyzer 2012FF_hf1

ik-analyzer下载地址:http://code.google.com/p/ik-analyzer/downloads/list


二、配置步骤

下载压缩解压后得到如下目录结构的文件夹:

我们把IKAnalyzer2012FF_u1.jar拷贝到solr服务的solr\WEB-INF\lib下面。

我们把IKAnalyzer.cfg.xml、stopword.dic拷贝到需要使用分词器的core的conf下面,和core的schema.xml文件一个目录。

修改core的schema.xml,在<types></types>配置项间加一段如下配置:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <fieldType name="text_ik" class="solr.TextField">   
  2.      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
  3. </fieldType>  
我们就多了一种text_ik的field类型了,该类型使用的分词器就是ik-analyzer

我们在这个core的schema.xml里面配置field类型的时候就可以使用text_ik了。

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <field name="name"      type="text_ik"   indexed="true"  stored="true"  multiValued="false" />   

三、中文分词测试

           
[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. IKT  
  2.       
  3. text  
  4. raw_bytes  
  5. start  
  6. end  
  7. type  
  8. position  
  9.       
  10. 中华人民共和国  
  11. [e4 b8 ad e5 8d 8e e4 ba ba e6 b0 91 e5 85 b1 e5 92 8c e5 9b bd]  
  12. 0  
  13. 7  
  14. CN_WORD  
  15. 1  
  16.       
  17. 中华人民  
  18. [e4 b8 ad e5 8d 8e e4 ba ba e6 b0 91]  
  19. 0  
  20. 4  
  21. CN_WORD  
  22. 2  
  23.       
  24. 中华  
  25. [e4 b8 ad e5 8d 8e]  
  26. 0  
  27. 2  
  28. CN_WORD  
  29. 3  
  30.       
  31. 华人  
  32. [e5 8d 8e e4 ba ba]  
  33. 1  
  34. 3  
  35. CN_WORD  
  36. 4  
  37.       
  38. 人民共和国  
  39. [e4 ba ba e6 b0 91 e5 85 b1 e5 92 8c e5 9b bd]  
  40. 2  
  41. 7  
  42. CN_WORD  
  43. 5  
  44.       
  45. 人民  
  46. [e4 ba ba e6 b0 91]  
  47. 2  
  48. 4  
  49. CN_WORD  
  50. 6  
  51.       
  52. 共和国  
  53. [e5 85 b1 e5 92 8c e5 9b bd]  
  54. 4  
  55. 7  
  56. CN_WORD  
  57. 7  
  58.       
  59. 共和  
  60. [e5 85 b1 e5 92 8c]  
  61. 4  
  62. 6  
  63. CN_WORD  
  64. 8  
  65.       
  66. 国  
  67. [e5 9b bd]  
  68. 6  
  69. 7  
  70. CN_CHAR  
  71. 9  
0 0