Docker搭建Solr-IKAnalyzer

本文介绍了如何利用Docker搭建Solr,并结合IKAnalyzer进行分词器和域的定制。首先,展示了Dockerfile的编写,然后重点说明了如何修改schema.xml以适应需求。接着,通过创建docker镜像、启动镜像并进入容器,将修改后的schema.xml文件复制到容器内的Solr配置目录。至此,Docker中的Solr已成功配置好IKAnalyzer。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker搭建Solr-IKAnalyzer

soft文件下目录结构

首先编写Dockerfile

FROM tomcat

ADD soft /usr/local/src/

WORKDIR /usr/local/src/

RUN tar -zxf solr.tar.gz && \
                rm solr.tar.gz && \
                mv solr-4.10.3.war ../tomcat/webapps/solr.war && \
                ../tomcat/bin/startup.sh && \
                sleep 10 && \
                ../tomcat/bin/shutdown.sh && \
                rm ../tomcat/webapps/solr.war && \
                mv solr ../tomcat/webapps/solr/solr-home && \
                mv web.xml ../tomcat/webapps/solr/WEB-INF/ && \
                rm /usr/local/tomcat/webapps/solr/solr-home/collection1/conf/schema.xml  && \
                mv schema.xml /usr/local/tomcat/webapps/solr/solr-home/collection1/conf/ && \
                mv ext/* ../tomcat/webapps/solr/WEB-INF/lib/ && \
                rm -rf ext && \
                tar -zxf IK\ Analyzer\ 2012FF_hf1.tar.gz && \
                rm IK\ Analyzer\ 2012FF_hf1.tar.gz && \
                mv IK\ Analyzer\ 2012FF_hf1/IKAnalyzer2012FF_u1.jar ../tomcat/webapps/solr/WEB-INF/lib/ && \
                mkdir ../tomcat/webapps/solr/WEB-INF/classes && \
                cd IK\ Analyzer\ 2012FF_hf1 && \
                mv IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic ../../tomcat/webapps/solr/WEB-INF/classes/ && \
                cd .. && \
                rm -rf IK\ Analyzer\ 2012FF_hf1

EXPOSE 8080

这里这个schema.xml需要修改成我们需要的(主要是在分词器和域)

  <fieldType name="text_ik" class="solr.TextField">
    <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  </fieldType>
  <field name="item_title" type="text_ik" indexed="true" stored="true"/>
  <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
  <field name="item_price"  type="long" indexed="true" stored="true"/>
  <field name="item_image" type="string" indexed="false" stored="true" />
  <field name="item_category_name" type="string" indexed="true" stored="true" />
  <field name="item_desc" type="text_ik" indexed="true" stored="false" />
  <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
  <copyField source="item_title" dest="item_keywords"/>
  <copyField source="item_sell_point" dest="item_keywords"/>
  <copyField source="item_category_name" dest="item_keywords"/>
  <copyField source="item_desc" dest="item_keywords"/>

创建docker镜像:

    docker build -t nelsoner/solr .

启动这个docker镜像:

    docker run --name tomcat -p 8080:8080 nelsoner/solr

以交互的方式进入容器内部:

    docker exec -it tomcat /bin/bash

修改后的schema.xml复制到docker容器中:

    docker cp schema.xml tomcat:/usr/local/tomcat/webapps/solr/solr-home/collection1/conf


到这里就基本结束了!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值