ES1.4 中文分词插件ik

    ES 官方只支持smartcn这个中文分词插件,是按照单个字进行索引。前端产品搜索时,凡是带这个关键字的都会被索引到。打个比方:搜索"苹果"关键词,凡是包含"苹"和"果"的title都会被索引到。因此为了这个需求,找一个第三方的中文分词插件.看了一下,国内有几款中分分词插件:ik、ansj和mmseg。最后我选择使用了ik。前端

      ES1.4 下安装ik,碰到了很多坑。最后终于搞定,因此分享一下ik的安装步骤。python

      

1. 下载es源代码,而后进行编译,将相应jar包复制到$ES_HOME/plugins/目录下。git

2. 下载ik配置文件,复制到$ES_HOME/config/目录下。github

3.修改elasticsearch.yml配置文件curl

4.测试ikelasticsearch


1.首先下载es源代码,并进行编译maven

wget --no-check-certificate 

unzip master.zip
cd  elasticsearch-analysis-ik-master
mvn clean install -Dmaven.test.skip=true   #编译过程,须要下载相应的jar包。因此喝一杯咖啡,慢慢等待...

将编译后的elasticsearch-analysis-ik-1.2.9.zip,解压缩,复制到$ES_HOME/plugins目录

相应jar包:ide

wKiom1S3QOXgwvjLAAGh7vfa4x4734.jpg

2.  下载ik配置文件,复制到$ES_HOME/config/目录下测试

   

https://github.com/davidbj/elasticsearch-rtf/archive/master.zip
unzip master.zip
将解压目录config/ik文件夹复制到$ES_HOME/config目录下


3. 更改$ES_HOME/config/elasticsearch.yml 配置文件url

index:  
  analysis:                     
    analyzer:        
      ik:  
          alias: [ik_analyzer]  
          type: org.elasticsearch.index.analysis.IkAnalyzerProvider  
      ik_max_word:  
          type: ik  
          use_smart: false  
      ik_smart:  
          type: ik  
          use_smart: true
 
#或
  index.analysis.analyzer.ik.type : “ik”

  最后重启elaticsearch服务


4.测试:

   

curl -XPOST  "

 测试结果以下
{  
tokens: [  
{  
token: text  
start_offset: 2 
end_offset: 6 
type: ENGLISH  
position: 1 
}  
{  
token: 我  
start_offset: 9 
end_offset: 10 
type: CN_CHAR  
position: 2 
}  
{  
token: 中国人  
start_offset: 11 
end_offset: 14 
type: CN_WORD  
position: 3 
}  
{  
token: 中国  
start_offset: 11 
end_offset: 13 
type: CN_WORD  
position: 4 
}  
{  
token: 国人  
start_offset: 12 
end_offset: 14 
type: CN_WORD  
position: 5 
}  
]  
}

   至此,es 的ik 插件已经安装配置完成~

  更多详细信息,请查看官方文档:https://github.com/awnuxkjy/es-ik

相关文章
相关标签/搜索