solr查询量增加后,单服务器承受不了搜索压力是,需要多服务来支撑,Solr1.4后自己提供了复制机制ReplicationHandler。
ReplicationHandler是个RequestHandler,在solrconfig.xml配置ReplicationHandler即可使用。
Master配置
- <requestHandlername="/replication"class="solr.ReplicationHandler">
- <lstname="master">
- <!--什么时候出发同步,参数名replicateAfter,取值可以是startup commit optimize -->
- <strname="replicateAfter">startup</str>
- <strname="replicateAfter">commit</str>
- <!--数据备份 参数名backupAfter 同样可以似乎startup commit optimize -->
- <!-- <str name="backupAfter">optimize</str> -->
- <!--配置要同步的配置文件 -->
- <strname="confFiles">schema.xml,stopwords.txt,elevate.xml</str>
- <!--提交同步时间间隔,默认是10秒,一般不用改动 -->
- <strname="commitReserveDuration">00:00:10</str>
- </lst>
- </requestHandler>
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <!--什么时候出发同步,参数名replicateAfter,取值可以是startup commit optimize --> <str name="replicateAfter">startup</str> <str name="replicateAfter">commit</str> <!--数据备份 参数名backupAfter 同样可以似乎startup commit optimize --> <!-- <str name="backupAfter">optimize</str> --> <!--配置要同步的配置文件 --> <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str> <!--提交同步时间间隔,默认是10秒,一般不用改动 --> <str name="commitReserveDuration">00:00:10</str> </lst> </requestHandler>
Slave配置
- <requestHandlername="/replication"class="solr.ReplicationHandler">
- <lstname="slave">
- <!--主服务的同步地址-->
- <strname="masterUrl">http://master_host:port/corename/replication</str>
- <!--同步轮询的时间间隔,是应用还击而定 -->
- <strname="pollInterval">00:00:20</str>
- <strname="compression">internal</str>
- <!--Http相关参数设置-->
- <strname="httpConnTimeout">5000</str>
- <strname="httpReadTimeout">10000</str>
- <!-- 如果主服务设置认证,在此设置登录用户名密码 -->
- <strname="httpBasicAuthUser">username</str>
- <strname="httpBasicAuthPassword">password</str>
- </lst>
- </requestHandler>
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="slave"> <!--主服务的同步地址--> <str name="masterUrl">http://master_host:port/corename/replication</str> <!--同步轮询的时间间隔,是应用还击而定 --> <str name="pollInterval">00:00:20</str> <str name="compression">internal</str> <!--Http相关参数设置--> <str name="httpConnTimeout">5000</str> <str name="httpReadTimeout">10000</str> <!-- 如果主服务设置认证,在此设置登录用户名密码 --> <str name="httpBasicAuthUser">username</str> <str name="httpBasicAuthPassword">password</str> </lst> </requestHandler>Solr同步是通过Slave周期性轮询来检查Master的版本,如果Master有新版本,那么就开始同步复制。
1. Slave发出一个filelist命令来收集文件列表。这个命令将返回一系列元数据(size,lastmodified,alias等等)
2. Slave查看它本地是否有这些文件,然后它会开始下载缺失的文件(使用命令filecontent)。如果连接失败,则下载终止。它将重试5次,如果仍然失败则放弃。
3. 文件被下载到了一个临时目录。因此,下载中途出错不会影响到slave。
4. 一个commit命令被ReplicationHandler执行,然后新的索引被加载进来
solr同步复制就那么简单。
相关推荐
hbase indexer是负责将hbase的数据自动同步到solr中建立索引,不需要写代码将hbase的数据同步到solr中创建索引。尽少开发工作,和减少在在并发环境下手工创建索引可能带来性能问题。
solr同步数据库需要jar包,多个solr同步数据库数据的jar包。压缩文件里面有说明
使用solr做数据库定时同步更新数据和索引时用到该jar,经过本人测试通过,放心使用. 支持solr5.x,solr6.x
文件中包括:1:solr4.4.0安装部署详细文档,solr-4.4.0.tgz 安装包2:ik分词器详细配置,IKAnalyzer2012FF_u1.jar和IKAnalyzer2012_FF.jar包3:solr和数据库实现实时数据同步更新,以及更新索引。solr-...
项目核心为SolrIndexCoprocessorObserver,该类继承BaseRegionObserver,并实现postPut和postDelete方法,以实现hbase数据同步到solr。考虑到solr插入效率和频繁写入的问题,这里实现了一个简单的缓冲池,当达到最大...
在很多情况下,人们使用Solr / ElasticSearch / Compass对其中央数据库,mongodb,hbase等进行索引,因此索引是数据的辅助存储。 您怎么知道您的索引是否正确? 您是否可以随时重新索引5亿个文档? (这就是外星人...
最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的...
将该数据收集到Solr索引中,用于。 具有在此处进行更改的挂钩,因此可以维护一个最新的EAD存储库。轮询更改和重新索引实时为更改后的文件重新编制索引每次更新该索引时,都会触发一个Jenkins作业。该作业将调用,该...
此外还研究通过 Redis 来缓存数据库中商品数据以提升搜索查询的效率以及搭建 Solr 搜索服务器用以处理用户的搜索请求和利用消息中间件 ActiveMQ 来同步 Redis 缓存、Solr 索引库和通知静态网页的生成来减少系统资源...
是的matlab代码文件资料 ...搜索索引与CKAN的SOLR搜索索引保持同步,并被Liferay Portlet使用,以有效地处理搜索查询并显示带有各种过滤器的搜索结果列表。 当前支持Elasticsearch 1.6.x版本,因为它可用于Ub
day06_solr索引库搭建&solr搜索功能实现&图片显示问题解决 day07_solr集群搭建_全局异常处理 day08_activeMQ介绍_搭建_解决同步索引库问题 day09_FreeMark入门_静态化页面标签介绍_静态化页面实现 day10_Nginx...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
课后作业-索引库商品同步.avi │ 15_商品同步作业.wmv │ 打开必读.txt │ 淘淘商城第八天笔记.docx │ ├─09.第九天 │ 01.第八天内容回顾.avi │ 02.课程计划.avi │ 03.服务发布-商品基本信息-service.avi │ ...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...
WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...