坑!
- 现在大家能够在?网上(需要禾斗学上网)下载的
IK
分词器版本已经非常老了,而Solr
更新还是非常快的,所以会出现版本不兼容的问题,不然即使成功装上了,也无法进行分词,Solr
会报异常:java.lang.AbstractMethodError
File | Summary + Labels | Uploaded | Size |
---|---|---|---|
[IK Analyzer 2012FF_hf1_source.rar] | IK Analyer 2012-FF Hotfix 1 源码 Type-Archive OpSys-All Ver 2012 FF hf1 | Dec 21, 2012 | 1.02MB |
[IK Analyzer 2012_u6_source.rar] | IK Analyer 2012 upgrade 6 源码 Type-Source OpSys-All version 2012 u6 | Dec 21, 2012 | 1.02MB |
[IKAnalyzer2012_u6.zip] | IK Analyer 2012 完整分发包 upgrade 6 Type-Archive OpSys-All version 2012 u6 For Lucene 3.x / Solr3.x | Oct 29, 2012 | 2.04MB |
[IK Analyzer 2012FF_hf1.zip] | IK Analyer 2012-FF hotfix 1 完整分发包 Type-Archive OpSys-All version 2012FF hotfix1 For lucene4.0 / solr 4.0 | Oct 26, 2012 | 2.05MB |
[IK Analyzer 2012 FF_SRC.rar] | IK Analyer 2012-FF 源码 Type-Source OpSys-All Ver 2012 FF | Oct 23, 2012 | 1.02MB |
所以现在给大家提供比较新的两个版本:
Solr 6(包含)以下食用更佳:https://github.com/cj96248/ik-analyzer-solr6
(推荐) Solr 7&8食用更佳:https://github.com/magese/ik-analyzer-solr
上面两个都需要将源码打成JAR包
当然 Solr 5以前的可以装上老版本,我也都因为勤(cai)快(keng)下好了
链接:https://pan.baidu.com/s/1WAtY5kjI75Kg-e6OAH69cw 提取码:g5ib
安装 Solr
拉取
Solr
镜像docker pull solr
创建
Solr
容器并运行--name mySolr 给自己的容器取名mySolr
-p 8983:8983 8983端口号映射到宿主机的8983端口上
-d solr 后台运行容器
docker run --name mySolr -p 8983:8983 -d solr
直接访问
Solr
服务浏览器直接访问
http://宿主服务器ip地址:8983
电脑虚拟机无法访问检查防火墙,阿里云等云服务器需要进行安全组配置开放端口,这里就不多赘述了。
页面上的
Versions
就是Solr
的版本号
安装核心选择器
创建核心选择器
exec -it :交互式执行容器
-c 内核的名称(必须)
docker exec -it mySolr bin/solr create_core -c myIKCore
安装配置 IK 分词器
传输
IK
分词器
通过
FTP
传输软件或其它方式传入宿主机的某一文件夹内没有按照开篇说的步骤将源码打成JAR包的我也准备好了
链接:https://pan.baidu.com/s/1HRkBrGSQ3d4jl-XL07fSKw 提取码:fviy
将
JAR
包复制到Solr
容器的分词包文件夹中docker cp ik-analyzer.jar mySolr:/opt/solr-8.3.1/contrib/analysis-extras/lucene-libs
查看 Solr
容器在宿主机中数据卷的位置
docker inspect mySolr
找到 Mounts
Destination : 容器里的路径
Source : 对应宿主机里的路径
将 IK
分词器配置到 Solr
的核心配置文件中
{Source} 就是上一步骤的 Source 值,不是真写 {Source} 哈
cd {Source}/data/myIKCore/conf/
vim solrconfig.xml
添加如下内容
dir 容器存放自带分词JAR包的目录
regex JAR包名
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs/" regex="ik-analyzer.jar" />
声明中文分词器
vim managed-schema
找到指定位置添加配置
<fieldType name ="text_ik" class ="solr.TextField">
<analyzer type ="index" isMaxWordLength ="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type ="query" isMaxWordLength ="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
fieldType>
真香时刻
重启
Solr
容器docker restart mySolr
浏览器访问
Solr
选择刚刚创建的核心选择器
进行分词分析
最后
以上链接若有失效,可以在公众号后台私信获取。
如果本文对你有帮助的话不妨点个?呦。
分享技术,稳住,我们能赢?!