Solr是一個獨立的企業級搜索應用服務器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。
https://github.com/docker-solr/docker-solr
(1)bin:solr的運行腳本
(2)contrib:solr的一些擴展jar包,用於增強solr的功能
(3)dist:該目錄包含build過程中產生的jar文件,以及相關的依賴文件
(4)data:用於存放與zookeeper關聯的配置文件zoo.cfg
(5)example:solr工程的例子目錄
部署Solr
$ docker run -d -it --restart=always -p 8983:8983 -privileged=true --name solr solr:v8.1.1
$ docker exec -it --user=solr solr /bin/bash
$ mkdir /var/solr/data/new_core
$ cp -r /opt/solr-8.1.1/server/solr/configsets/sample_techproducts_configs/conf /var/solr/data/new_core/
$ cp /var/solr/data/collection1/conf/managed-schema /var/solr/data/new_core/confschema.xml
退出容器,拷貝配置文件和mysql數據庫配置"my-data-config.xml", solrconfig.xml加載my-data-config.xml
$ docker cp managed-schema solr:/var/solr/data/new_core/conf/
$ docker cp my-data-config.xml solr:/var/solr/data/new_core/conf/
$ docker cp solrconfig.xml solr:/var/solr/data/new_core/conf/
注:
如果不掛在已准備好的包 需要一下文件
##拷貝驅動文件和依賴jar包
$ docker cp mysql-connector-java-5.1.47.jar solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/
$ docker cp ik-analyzer-solr5-5.x.jar solr:/opt/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
$ docker cp solr-analyzer-ik-5.1.0.jar solr:/opt/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
$ docker cp classes solr:/opt/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/
$ ls -lrt
total 20
-rw-r--r-- 1 root root 8245 Mar 4 13:45 stopword.dic
-rw-r--r-- 1 root root 404 Mar 4 13:45 IKAnalyzer.cfg.xml
-rw-r--r-- 1 root root 41 Mar 4 13:45 ext.dic
##
$ docker exec -it --user=root solr /bin/bash
$ cd /opt/solr-8.1.1/dist/
$ cp -vf solr-dataimporthandler-* /opt/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib/
my-data-config.xml配置