官方地址 https://solr.apache.org/
描述
Solr 是一个独立的企业搜索服务器,具有类似 REST 的 API。您可以通过 JSON、XML、CSV 或 HTTP 上的二进制文件将文档放入其中(称为“索引”)。您通过 HTTP GET 查询它并接收 JSON、XML、CSV 或二进制结果。
https://solr.apache.org/features.html
文档
https://solr.apache.org/guide/solr/latest/getting-started/introduction.html
基于Docker安裝
- 镜像版本:
$ docker image inspect solr:latest|grep -i version
"JAVA_VERSION=11.0.13",
"DockerVersion": "20.10.7",
"JAVA_VERSION=11.0.13",
- 啓動鏡像
docker run -itd -p 8983:8983 solr:8.11.1
- 下載中文分詞 ik (自行網上找,如有需要請聯繫我) ik-analyzer-8.3.0.jar
//将jar包拷贝到solr的lib目录下 b87e11c199e0是容器id
docker cp ik-analyzer-8.3.0.jar b87e11c199e0:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/
docker cp ik-analyzer-solr7-7.x.jar b87e11c199e0:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-8.4.0.jar b87e11c199e0:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-extras-8.4.0.jar b87e11c199e0:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/
- 創建 new_core
docker exec -it -u root b87e11c199e0 /bin/bash
cd /var/solr/data/
mkdir new_core
- 創建 文件 solrconfig.xml schema.xml
cd new_core
vi solrconfig.xml
vi schema.xml
- 複製conf 和添加中文分詞
cp /opt/solr-8.11.1/server/solr/configsets/_default/conf/ -r /var/solr/data/new_core/
cd conf
vi managed-schema
// 添加下面的xml
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<!-- useSmart:分词粗细粒度(true:粗分词 false:细分词) -->
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_cn" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<!-- 定义两个字段 name:名字随便取 type:分词的类型 indexed:是否建立索引 stored:是否储存到硬盘 -->
<field name="zh_ik" type="text_ik" indexed="true" stored="true" />
<field name="zh_cn" type="text_cn" indexed="true" stored="true" />
-
退出容器
exit -
重启容器
docker restart my_solr -
访问 http://127.0.0.1:8983/