首页 > 其他分享 >【转】docker安装solr8.11.1

【转】docker安装solr8.11.1

时间:2023-11-21 10:14:53浏览次数:37  
标签:xml -- 安装 conf solr8.11 docker solr appLog

一、简介

solr是一个基于Lucene的Java搜索引擎服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

二、docker安装Solr8.11.1

1、安装镜像

docker pull solr:8.11.1

2、新建目录

mkdir -p /home/apps/solr

3、复制配置文件

# 运行一个临时solr
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

4、创建并启动

docker run \
-d \
--name solr \
--restart=always \
--privileged=true \
-p 6016:8983 \
-v /home/apps/solr/conf:/opt/solr \
solr:8.11.1

5、访问

三、创建solr核心命令

例:创建一个名叫appLog的库 生成的库存储在 /var/solr/data/appLog 目录

1、命令方式创建

# 创建命令
docker exec -it --user=solr solr bin/solr create -c appLog

# 删除核心命令
docker exec -it --user=solr solr bin/solr delete -c appLog

2、在界面上创建

docker exec -it solr /bin/bash

# 创建库目录
mkdir /var/solr/data/appLog

# 复制配置文件到库目录
cp -r /opt/solr/server/solr/configsets/_default/conf /var/solr/data/appLog

# 登录solr界面,在Core Admin里新建appLog

4、更新字段

  • 如果创建的库需要修改字段信息,可通过以下方式
# 将managed-schema复制到主机并修改内容
docker cp solr:/var/solr/data/xytbHttpLog/conf/managed-schema ./

# 将managed-schema复制回容器内
docker cp managed-schema solr:/var/solr/data/xytbHttpLog/conf/

四、配置solr帐号

1、添加帐号

vim /home/apps/solr/conf/server/etc/verify.properties

# 用户名 密码 权限
user: pass,admin
user1: pass,admin
user3: pass,admin

2、引入账号配置文件

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>
  
#最终结果如下  

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath"><Property name="hostContext" default="/solr"/></Set>
  <Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set>
  <Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set>
  <Set name="extractWAR">false</Set>
  <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>
</Configure>

3、修改启动应用程序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>

4、重启solr

docker restart solr

五、接口操作

1、删除数据

# 删除9-18号之前的所有数据
curl 'http://127.0.0.1:6016/solr/appLog/update?commit=true' -H 'Content-Type: text/xml' -d '<delete><query>createTime:[* TO 2022-09-18T15:30:01Z]</query></delete>' -u 'admin:123456'

# 删除30天前的数据
curl 'http://127.0.0.1:6016/solr/appLog/update?commit=true' -H 'Content-Type: text/xml' -d '<delete><query>createTime:[* TO NOW-1]</query></delete>' -u 'admin:123456'

六、参考

原作者:docker安装solr:https://www.cnblogs.com/lvlinguang/p/16831936.html

 

标签:xml,--,安装,conf,solr8.11,docker,solr,appLog
From: https://www.cnblogs.com/chenghu/p/17845595.html

相关文章

  • luckysheet 的安装
    前言最近有需求,把el-table和vxe-table替换为luckysheet。据说这个可以实现和excel的互相复制粘贴,便于用户操作。官方文档中Luckysheet安装有两种方式:cdn引入:有可能不是最新的,需要指定版本号。本地引入。居然没有npm安装,也是很奇特。因此,我采取了本地引入的方......
  • Windows中安装nvm管理node版本
    1.将nodejs卸载,删除node相关文件  2.下载nvm并安装 https://nvm.uihtm.com/nvm1.1.7-setup.zip  nvm-v查看版本3.更换镜像源不然下载速度过慢找到nvm的安装路径找到settiings.txt在settiings.txt文件中新增如下内容node_mirror:https://npm.taobao.or......
  • 02-MySQL的安装与配置(Windows)
    MySQL数据库MySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之......
  • Docker部署My-BookMark
    一、简介​My-BookMark​是在线的书签管理工具,帮助你快速记录你喜欢的网站,并可以随时随地查看这些站点,而不必拘泥于使用的浏览器。无论在什么地方,只要能接入网络,就能打开属于你自己的网络书签,看到自己收藏的页面网址。二、搭建My-BookMark绿联DX4600为例,首先我们打开Docker......
  • STM32快速上手踩坑记录(keil5+CubeMX安装+实现SPI通信)
    硬件:ST-LINKv2+STM32F103C8T6+Kingst逻辑分析仪TM32F103C8T6引脚图STM32F103C8T6引脚图及引脚功能说明_stm32f103c8t6引脚图及功能_eewj的博客-CSDN博客安装keil5官网下载:KeilProductDownloads点击MDK-Arm下载即可,目前最新版本是5.38,公司信息什么的随便填一下,下载之后......
  • Centos7编译安装Python
    Centos7编译安装Python环境准备操作系统:Centos7版本:Python3.12下载wgethttps://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz编译安装#安装依赖yum-yinstallgcczlibzlib-devellibffilibffi-develreadline-developenssl-developenssl11openssl......
  • Centos7安装Mongodb社区版
    Centos7安装Mongodb社区版准备环境操作系统:Centos7安装包:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.3.tgzwindows可视化工具:Studio3T(原robot3t)/DbeaverCE安装下载wget-Omongodb.tgzhttps://fastdl.mongodb.org/linux/mongodb-li......
  • CentOS 7 安装Node环境
    1.下载Node进入Node最新版下载:https://nodejs.org/en/download/current/下载指定版本地址:https://nodejs.org/dist/本次安装v13版本地址:https://nodejs.org/dist/latest-v13.x/node-v13.14.0-linux-x64.tar.gz2.安装Node下载wgethttps://nodejs.org/dist/latest-v13......
  • Docker容器基于NFS实现跨主机跨容器的文件共享
    涉及两方面知识:1.NFS在CentOS如何搭建;2.在docker容器内如何有效挂载到远程的文件服务器。下面我们先完成第一个任务,构建NFS网络文件系统,实现两个服务器之间文件互联互通。NFSNFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共......
  • ActiveMQ安装
    ActiveMQ单机安装下载链接:https://activemq.apache.org/components/classic/download/安装jdk8查询yum库中java版本[root@localhost~]#yumlistjava*已加载插件:fastestmirrorRepodataisover2weeksold.Installyum-cron?Orrun:yummakecachefastDetermining......