elasticsearch1.7.2安装ik分词器

网上试了很多种方案都不灵!


最后准于被我使出来了。记录下来,希望能帮到其他的人!


ik分词器地址:https://github.com/medcl/elasticsearch-analysis-ik 


1、下载 elasticsearch-analysis-ik-1.4.1.zip


2、解压,进入目录:命令行执行:mvn compile package (确保机器上安装了maven)

 

3、进入target\releases将elasticsearch-analysis-ik-1.4.1.zip这个文件拷贝到服务器,elasticsearch1.7.2的安装目录,如果plugins下没有analysis-ik这个文件夹请创建


 4、用unzip 解压elasticsearch-analysis-ik-1.4.1.zip这个文件到analysis-ik这个文件夹 (最重要,其他教程上都没有这一步,不然会报找不到类的错误)

 

  5、进入$ES_HOME/config目录下,将本机D:\javastudy\es\elasticsearch-analysis-ik-1.4.1\config\下的 ik这个文件拷贝到该目录(也就是将分词器拷贝到了这个目录)


  6、该es的配置文件末尾添加:$ES_HOME/config/elasticsearch.yml 

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.default.type: ik



7、重启es

关闭命令:curl -XPOST http://localhost:19200/_cluster/nodes/_shutdown


8、进行检测:

curl 'http://localhost:9200/index/_analyze?analyzer=ik_max_word&pretty=true' -d' 
{ 
    "text":"中华人民共和国国歌" 
} 
'

{
  "tokens" : [ {
    "token" : "text",
    "start_offset" : 10,
    "end_offset" : 14,
    "type" : "ENGLISH",
    "position" : 1
  }, {
    "token" : "中华人民共和国",
    "start_offset" : 17,
    "end_offset" : 24,
    "type" : "CN_WORD",
    "position" : 2
  }, {
    "token" : "国歌",
    "start_offset" : 24,
    "end_offset" : 26,
    "type" : "CN_WORD",
    "position" : 3
  } ]
}



ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。



    










返回:

你可能感兴趣的:(java)