springmvc solr mysql_Solr集群安装及实战

一 Solr集群(SolrCloud)

1 什么是SolrCloud

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

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

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

SolrCloud 来满足这些 需求。

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

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

它有几个特色功能:

1)集中式的配置信息

2)自动容错

3)近实时搜索

4)查询时自动负载均衡

2 Solr 集群结构图

3 Solr集群搭建设计

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目录中

4.5 修改tomcat端口

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

5 创建集群

5.1 上传索引库配置文件

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

./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

地址及端口号

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

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

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

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

6 测试SolrJ操作Solr集群

6.1 在集群中添加文档

6.2 删除集群中的文档

6.3 查询集群中的文档

二 Solr实战案例

1.案例需求

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

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

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

2 创建实战项目

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

2.2 框架整合

3 Spring 整合SolrJ

3.1 创建application-solrj.xml

3.2 编写测试代码

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

4.1 创建导入数据service

4.2 创建导入数据 Controller

5 实现搜索业务

5.1 创建搜索页面

5.2 创建SolrDao

5.3 创建搜索service

5.4 创建搜索Controller

5.5 创建展示搜索结果页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值