Docker搭建Solr-IKAnalyzer

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


到這裏就基本結束了!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章