什么是solr
solr是一个基于Lucene的Java搜索引擎服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
docker安装
创建solr目录
mkdir -p /home/apps/solr
docker pull solr:8.11.1
运行
docker run --name solr -d -p 8983:8983 solr:8.11.1
复制配置文件
docker cp solr:/opt/solr/ /home/apps/solr/conf
停止并删除solr
docker stop solr && docker rm solr
启动solr
docker run -d --name solr --restart=always --privileged=true -p 8983:8983 -v /home/apps/solr/conf:/opt/solr solr:8.11.1
开放8983端口
firewall-cmd --zone=public --add-port=8983/tcp --permanent
firewall-cmd --reload
创建账号
添加帐号
vim /home/apps/solr/conf/server/etc/verify.properties
#用户名 密码 权限
admin: admin,admin
引入账号配置文件
vim /home/apps/solr/conf/server/contexts/solr-jetty-context.xml
添加内容
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">verify—name</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/verify.properties</Set>
</New>
</Set>
</Get>
修改启动应用程序web.xml文件
vim /home/apps/solr/conf/server/solr-webapp/webapp/WEB-INF/web.xml
在最后追加以下内容
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>verify-name</realm-name>
</login-config>
重启solr
docker restart solr
再次访问http://ip:8983
,就需要输入密码了。
到这里,solr就安装成功了。
创建库
未添加用户时创建核心
创建命令
docker exec -it --user=solr solr bin/solr create -c portalLog
删除核心命令
docker exec -it --user=solr solr bin/solr delete -c portalLog
添加用户后创建核心
在界面上创建
docker exec -it solr /bin/bash
创建库目录
mkdir /var/solr/data/school
复制配置文件到库目录
cp -r /opt/solr/server/solr/configsets/_default/conf /var/solr/data/school
创建成功后,可以看到核心
卸载
删除安装目录
rm -rf /home/apps/solr
停止并删除solr
docker stop solr && docker rm solr