大家好,又见面了,我是全栈君。
IK压缩包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v6.7.0,
需要下载对应的版本
我的es:6.2.1 , 所以 分词器版本
使用IK分词器可以实现对中文分词的效果。 下载IK分词器:(Github地址:https://github.com/medcl/elasticsearch-analysis-ik) 下载zip:解压,并将解压的文件拷贝到ES安装目录的plugins下的ik目录下
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.2.1
ctrl C 退出es,再次重新执行 elasticsearch.bat ,可以看到已加载插件
补充:
下载完成之后,上传到服务器,然后解压到elasticsearch的plugins文件夹下,然后重命名为analysis-ik
也可以先在别处解压之后,然后重命名,以下代码,每个人可能不一样,根据自己实际的来
代码语言:javascript复制mv elasticsearch-analysis-ik-6.6.2 elasticsearch-6.6.0/plugins/analysis-ik
在这里要注意层级,以下这个IKAnalyzer.cfg.xml文件和plugins文件夹的层级是这样的
代码语言:javascript复制/plugins/analysis-ik/config/IKAnalyzer.cfg.xml
然后关闭elasticsearch
代码语言:javascript复制[root@localhost config]# ps -ef|grep elast
elas 49202 1 1 18:10 pts/1 00:00:23 /usr/web/java/jdk1.8/bin/java -Xms256m -Xmx256m -XX: UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX: UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX: AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-628240789535257481 -XX: HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX: PrintGCDetails -XX: PrintGCDateStamps -XX: PrintTenuringDistribution -XX: PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX: UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Des.path.home=/usr/web/elasticsearch/elasticsearch-6.6.0 -Des.path.conf=/usr/web/elasticsearch/elasticsearch-6.6.0/config -Des.distribution.flavor=default -Des.distribution.type=tar -cp /usr/web/elasticsearch/elasticsearch-6.6.0/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
hoi 49216 49202 0 18:10 pts/1 00:00:00 /usr/web/elasticsearch/elasticsearch-6.6.0/modules/x-pack-ml/platform/linux-x86_64/bin/controller
root 49738 3679 0 18:37 pts/0 00:00:00 grep --color=auto elast
然后杀掉进程
代码语言:javascript复制kill 49202
然后切换到普通账号(使用root账号启动会失败)重新启动,进入elasticsearch文件目录的bin文件夹下
代码语言:javascript复制./elasticsearch
或者后台启动
代码语言:javascript复制nohup ./elasticsearch &
如果出现以下报错
代码语言:javascript复制org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 6.5.0 but version 6.6.0 is running
问题原因
elasticsearch版本和 ik分词器版本不一致。 由于我用的elasticsearch时最新版本 6.6.0,而ik分词器master编译出来的是6.5.0
解决办法
进入插件目录的分词文件夹下 analysis-ik/ ,修改 plugin-descriptor.properties 文件中的
改为你的elasticsearch版本号,我的是6.6.0
然后保存退出 使用非root用户重启
IK提供了两个分词算法ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word为最细粒度划分
参考:https://www.cnblogs.com/pxblog/p/12633189.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111474.html原文链接:https://javaforall.cn