solr查询量增加后,单服务器承受不了搜索压力是,需要多服务来支撑,Solr1.4后自己提供了复制机制ReplicationHandler。
ReplicationHandler是个RequestHandler,在solrconfig.xml配置ReplicationHandler即可使用。
Master配置
startup commit schema.xml,stopwords.txt,elevate.xml 00:00:10
Slave配置
Solr同步是通过Slave周期性轮询来检查Master的版本,如果Master有新版本,那么就开始同步复制。http://master_host:port/corename/replication 00:00:20 internal 5000 10000 username password
1. Slave发出一个filelist命令来收集文件列表。这个命令将返回一系列元数据(size,lastmodified,alias等等)
2. Slave查看它本地是否有这些文件,然后它会开始下载缺失的文件(使用命令filecontent)。如果连接失败,则下载终止。它将重试5次,如果仍然失败则放弃。
3. 文件被下载到了一个临时目录。因此,下载中途出错不会影响到slave。
4. 一个commit命令被ReplicationHandler执行,然后新的索引被加载进来
solr同步复制就那么简单。