solr重建部分索引_Solr集群安装及实战

本文详细介绍了如何搭建SolrCloud集群,包括SolrCloud的概念、特点、集群结构和搭建步骤。同时,提供了Solr实战案例,利用SpringMVC、SolrJ将MySQL数据导入到Solr索引库,并实现搜索功能。
摘要由CSDN通过智能技术生成

一 Solr集群(SolrCloud)

1 什么是SolrCloud

SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,

分布 式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是

不需要使用 SolrCloud 的,当索引量很大,搜索请求并发很高,这时需要使用

SolrCloud 来满足这些 需求。

SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,它的主要思想是使用

Zookeeper 作为集群的配置信息中心。

它有几个特色功能:

1)集中式的配置信息

2)自动容错

3)近实时搜索

4)查询时自动负载均衡

2 Solr 集群结构图

dde02af001c5756e215f2f966c2289b2.png

3 Solr集群搭建设计

b80a4a88fbc1af9f57939304fbb580d7.png

4 安装Solr集群环境

4.1 需求

1) 在 192.168.70.147 环境中安装 zookeeper 集群(已安装)

2) 创建 4 个 tomcat 实例,修改其端口为 8080-8083

3) 使用已安装好的单机版 solr 作为集群的节点使用

4.2 创建solrcloud目录

4.3 安装Zooleeper集群

4.4 安装4个tomcat实例并将tomcat与索引库拷贝到solrCloud目录中

66fb0eeac7e9e8cb5ecc03ec202eb9cc.png

4.5 修改tomcat端口

a792724e72954ac5b25cd3a105663d43.png

9d6a53b373e40954e1877e6f69762c9d.png

dbd7275defe6c672b49f04098a90b0de.png

4.6 修改 solr 服务中指向 solr 索引库的路径

8a2b90c09b07cfcef518f5ca24598d23.png

5 创建集群

5.1 上传索引库配置文件

把 solrhome 中的配置文件上传到 zookeeper 集群。使用 zookeeper 的客户端上

a53b10dc6c0b903b78171d91a3918261.png

./zkcli.sh -zkhost 192.168.70.147:2181, 192.168.70.147:2182, 192.168.70.147:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/solr/collection1/conf -confname myconf

5.2 修改 solrhome 下的 solr.xml 文件,指定当前实例运行的 ip

地址及端口号

6c462bbe448734469a7153a6d9d95761.png

5.3 修改每一台 solr的 tomcat 的 bin 目录下 catalina.sh 文件中

加入 DzkHost 指定 zookeeper 服务器地址 JAVA_OPTS="DzkHost=192.168.70.147:2181,192.168.70.147:2182,192.168.70.14 7:2183" (可以使用 vim 的查找功能查找到 JAVA_OPTS 的定义的位置,然后添加) 注意不能含有空格

5.4 启动tomcat

a5eadb3e613d1268e1e4d7f6e74b0d0b.png

5.5 创建新的逻辑索引库并分片

创建一个新的 collection,并分两片,每片是一主一备。

使用以下命令创建: http://192.168.70.147:8080/solr/admin/collections?action=CREATE&name=collec tion2&numShards=2&replicationFactor=2 、 5.6 删除原来的逻辑索引库

http://192.168.70.147:8080/solr/admin/collections?action=DELETE&

name=collec tion1

6 测试SolrJ操作Solr集群

6.1 在集群中添加文档

c8c5e7b870e3273846b16919f613fcbd.png

6.2 删除集群中的文档

ea6e782309ac4c18503b60064d299992.png

6.3 查询集群中的文档

78c274f391f3d390174594bedc2aa685.png

二 Solr实战案例

1.案例需求

1) 使用技术 springMVC+Spring+Mybatis+solrJ

2) 将 mysql 中的 tb_item 表中的部分业务数据导入到 solr 的索引库中

3) 提供一个搜索页面,在搜索页面中完成数据搜索

2 创建实战项目

2.1 创建项目,修改pom文件,添加依赖

2.2 框架整合

798bd8a614b4a79928b8e5855f7672fe.png

3 Spring 整合SolrJ

3.1 创建application-solrj.xml

7e4a5e84a71fd6a0256608e6666dfeb4.png

3.2 编写测试代码

01774065fdf5c8197a3e73e51cfc4e22.png

4 将 tb_item 表中的数据导入到 Solr 的索引库中

4.1 创建导入数据service

bbe6d252b6f1b1fd9d077d5acd3f0547.png

4.2 创建导入数据 Controller

8777f7379bce0404ef3635b7bb5840b6.png

5 实现搜索业务

5.1 创建搜索页面

dc5244eb9c6bc5ebcd7d70a81b58b14c.png

5.2 创建SolrDao

b144ed6fcbdb7ad5c2e733518da8c410.png

9ab658ef9c18fba80778ea18a2bed0a9.png

5.3 创建搜索service

e7df03c9c0a08db61fb2880722988766.png

5.4 创建搜索Controller

51c6800a5327e24abc857c4caf561bc8.png

5.5 创建展示搜索结果页面

69c4ef5b1554b66e932537bbfc808f5b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值