solr安装-docker-单机版

Posted 邓剑然的进阶笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr安装-docker-单机版相关的知识,希望对你有一定的参考价值。

1 安装docker环境

    见安装

2 docker安装solr

    2.1 拉取solr镜像(从官方镜像库)

    docker pull solr:7.7.2

        docker images

solr安装-docker-单机版

    2.2 启动容器

    #为了配置方便,希望将容器内部目录挂载出来,经尝试,直接在run的时候挂载目录无法正常启动,猜测是目录权限问题,也可能是我环境问题,后续再研究

    #所以本流程先进行目录cp,赋权,然后在挂载

    2.2.1 创建文件夹并赋权

    mkdir -p /software/solr/server

    chmod 777 /software/solr/server

solr安装-docker-单机版

    2.2.2 将希望挂载的目录复制出来

    #先进行构建,再cp,然后删除之前的容器,这样配置文件就被完整的cp到宿主机上,切记第二个指令目录不能写错

    docker run --name solr -d -p 8983:8983 solr:7.7.2

    docker cp solr:/opt/solr/server /software/solr/

    docker rm -f solr

    

solr安装-docker-单机版

    #此时如果直接构建容器,依然无法启动,容器存在但无法启动

solr安装-docker-单机版

    2.2.3 将希望挂载的目录逐一赋权

chmod 777 /software/solr/server/contexts/

chmod 777 /software/solr/server/etc/

chmod 777 /software/solr/server/lib/

chmod 777 /software/solr/server/logs/

chmod 777 /software/solr/server/modules/

chmod 777 /software/solr/server/resources/

chmod 777 /software/solr/server/scripts/

chmod 777 /software/solr/server/scripts/cloud-scripts/

chmod 777 /software/solr/server/solr/

chmod 777 /software/solr/server/solr-webapp/

chmod 777 /software/solr/server/solr-webapp/webapp/

solr安装-docker-单机版

    2.2.3 构建容器

    # 完全相同的指令,即可构建成功

    docker run --name solr -d -v /software/solr/server:/opt/solr/server -p 8983:8983 --privileged=true solr:7.7.2

    docker ps 

solr安装-docker-单机版

    2.3 控制台管理页面查看是否启动正常

     http://192.168.229.128:8983/solr/#/

solr安装-docker-单机版

    2.4 新建core

    docker exec -ti --user=solr my-solr bin/solr  create_core -c mycore

solr安装-docker-单机版

    

    新建完成后管理页面查看core是否新建成功

solr安装-docker-单机版

    2.5 设置中文分词库smartcn

     #中文分词库有多种,常用地如ikanalyzer,官方的smartcn,solr默认不安装中文分词库,如果无中文分词,在做中文搜索时就无法进行分词匹配,如下图所示:皆为单个文字

solr安装-docker-单机版

    #本文使用官方分词库,后续可尝试其他分词库

    #因已将容器内部配置已挂载到宿主机,则只要调整宿主机配置文件即可

    2.5.1 修改对应core下的 solrconfig.xml

solr安装-docker-单机版

    #添加分词lib位置

    <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" regex="lucene-analyzers-smartcn-7.7.2.jar" />solr安装-docker-单机版

    2.5.2 修改对应core下的 managed-schema

solr安装-docker-单机版

#添加如下fieldType

<fieldType name="text_chinese" class="solr.TextField" positionIncrementGap="100">

       <analyzer type="index">

         <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>

        </analyzer>

        <analyzer type="query">

          <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>

        </analyzer>

</fieldType>

solr安装-docker-单机版

#或如下配置,两者应该相同

<fieldType name="text_chinese" class="solr.TextField">

  <analyzer>

    <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>

  </analyzer>

</fieldType>

2.6 确认容器内部配置已被更改

#容器和宿主机之间的挂载目录是共享的,此处不需验证,本文只为记录相关指令及操作

#进入容器命令行

docker exec -ti --user root solr /bin/bash

solr安装-docker-单机版

solr安装-docker-单机版

#找到对应配置文件,但容器内部无vivim指令,许在容器内安装

#docker安装vim,需先进行update,不然无法安装成功

apt-get update

apt-get install vim 

solr安装-docker-单机版

#经验证内部配置文件及已变更


2.7 重启solr并验证分词

#exit退出容器命令行

exit

docker restart solr

#选择之前的fieldType名称


以上是关于solr安装-docker-单机版的主要内容,如果未能解决你的问题,请参考以下文章

Solr安装(单机版)

09.Solr单机版安装配置

liunx安装单机版solr

单机版solr的搭建

Solr单机版的安装与使用

安装单机版solr