安装solr
各版本的下载地址:http://archive.apache.org/dist/lucene/solr/
mkdir -p /data/solr
cd /data/solr
solr-8.4.1.tgz
solr安装启动
进入 solr--8.4.1/bin目录
执行 solr start
说明:solr运行,依赖JDK8
solr控制台
http://localhost:8983/solr,如果可以顺利打开,说明solr启动成功。
solr停止 进入 solr--8.4.1/bin目录
执行 solr stop -p 8983
集群搭建
1.安装zookeeper集群
略。。。
2.配置solr集群
进入/data/solr/solr-8.4.1/server/solr,修改solr.xml
<solr>
<int name="maxBooleanClauses">${solr.max.booleanClauses:1024}</int>
<solrcloud>
<!- 修改ip地址 -->
<str name="host">10.51.52.29</str>
<!- 访问端口 -->
<int name="hostPort">9000</int>
...
整合分词器
1、配置ik中文分词器
//https://search.maven.org/search?q=com.github.magese
下载8.x版本
将IK分词器 JAR 包拷贝到solr-8.4.1/server/solr-webapp/webapp/WEB-INF/lib下
在/data/solr/solr-8.4.1/server/solr/configsets/sample_techproducts_configs/conf/managed-schema 添加一下代码
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
</analyzer>
</fieldType>
让zookeeper统一管理配置文件(只需要一次,不需要每个节点一次)(上传配置文件到zookeeper下)
进入/data/solr/solr-8.4.1/server/scripts/cloud-script
./zkcli.sh -zkhost 10.51.52.27:2181,10.51.52.27:2182,10.51.52.28:2183,10.51.52.29:2184,10.51.52.30:2185 -cmd upconfig -confdir /data/solr/solr-8.4.1/server/solr/configsets/sample_techproducts_configs/conf -confname myconf
表示把/data/solr/solr-8.4.1/server/solr/configsets/sample_techproducts_configs/conf
目录下的文件上传到zookeeper的/configs/myconf
修改脚本
进入/data/solr/solr-8.4.1/bin,修改vi solr.in.sh添加
ZK_HOST="10.51.52.27:2181,10.51.52.27:2182,10.51.52.28:2183,10.51.52.29:2184,10.51.52.30:2185"
启动
./solr stop -p 9000 #端口跟solr.xml设置的一样
项目中应用
- 配置
### 开启集群模式 spring.data.solr.repositories.enabled=true ### 配置zookeeper地址 spring.data.solr.zk-host=10.51.52.27:2181,10.51.52.27:2182,10.51.52.28:2183,10.51.52.29:2184,10.51.52.30:2185
- 应用
//依赖
@Resource
private CloudSolrClient solrClient;
//设置默认的容器
solrClient.setDefaultCollection("xc-query");