docker pull solr:7.4.0
docker run --name blog-solr -d -p 8983:8983 -t solr:7.4.0
创建solrCore
docker exec -it --user=solr blog-solr bin/solr create_core -c collection1
把配置拉到本地
docker cp blog-solr:/opt/solr/ /usr/local/
smartcn 的jar包位置
/opt/solr/contrib/analysis-extras/lucene-libs
进入创建的 solrcore: collection1 配置目录 /opt/solr/server/solr/collection1/conf
,修改 solrconfig.xml
添加 smartcn 包的 lib
标签
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" regex="lucene-analyzers-smartcn-7.4.0.jar" />
在 managed-schema
中添加中文分词的 FieldType
<fieldType name="cn_text" 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>
docker cp /usr/local/solr/server/solr/collection1/conf/solrconfig.xml blog-solr:/opt/solr/server/solr/collection1/conf/solrconfig.xml
docker cp /usr/local/solr/server/solr/collection1/conf/managed-schema blog-solr:/opt/solr/server/solr/collection1/conf/managed-schema
docker restart blog-solr
用root用户进入容器
sudo docker exec -it -u root ec33c19230ca /bin/bash