docker-compose 安装solr+ikanalyzer

docker-compose.yml

version: '3.1'
services:
  solr:
    image: solr
    restart: always
    container_name: solr
    ports:
      - 8983:8983

进入容器添加core

[root@linux zookeeper]# docker exec -it solr bash
solr@eaed99eb2ede:/opt/solr/server/solr$ mkdir ik_core
solr@eaed99eb2ede:/opt/solr/server/solr$ cd ik_core/
solr@eaed99eb2ede:/opt/solr/server/solr/ik_core$ mkdir data
solr@eaed99eb2ede:/opt/solr/server/solr/ik_core$ cp -r ../configsets/sample_techproducts_configs/conf/ .
solr@eaed99eb2ede:/opt/solr/server/solr/ik_core$ echo 'name=ik_core' > core.properties

 solr@eaed99eb2ede:/opt/solr/server/solr/ik_core$ ls
  conf core.properties data

访问solr admin

 

 分词

Solr 对英文提供分词支持

 可以看到对于中文就只能进行一个字一个字拆分,为了支持中文分词需要安装ikanalyzer插件,下载ikanalyzer

  [root@linux ik-analyzer]# ls
   ext.dic IKAnalyzer.cfg.xml ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar stopword.dic

#复制插件
[root@linux ik-analyzer]# docker cp ./ik-analyzer-solr5-5.x.jar solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib [root@linux ik-analyzer]# docker cp ./solr-analyzer-ik-5.1.0.jar solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib

  #复制配置文件

  [root@linux ik-analyzer]# docker cp ./ext.dic solr:/opt/solr/server/solr-webapp/webapp/WEB-INF
  [root@linux ik-analyzer]# docker cp ./stopword.dic solr:/opt/solr/server/solr-webapp/webapp/WEB-INF
  [root@linux ik-analyzer]# docker cp ./IKAnalyzer.cfg.xml solr:/opt/solr/server/solr-webapp/webapp/WEB-INF

在容器目录/opt/solr/server/solr/ik_core/conf,添加 managed-schema文件,该配置文件在上面下载地址内有

#将宿主机的文件拷贝到容器;里
docker cp ./managed-schema solr:/opt/solr/server/solr/ik_core/conf

最终的分词结果

原文地址:https://www.cnblogs.com/yehuabin/p/10180737.html