Solr Replication (复制) 索引和文件的工作机制
(2011-11-02 17:40:23)
1 Solr Replication(复制)是怎样工作的
luence有一个IndexDeletePolicy接口,这个接口是提供luence删除索引文件的两个时机,分别是init和commit,
init是在IndexWirter创建时执行的。commit是在有索引文件更新,提交是执行的。而indexDeletePolicy这两个方法都会得到一个提交点集合即(IndexCommit),IndexCommit是luence的一个抽象类,从它可以取到该提交点相关的段文件名,所有的索引文件,索引目录,索引版本,最后修改时间等,具体的方法如下:
public abstract String getSegmentsFileName();
public abstract Collection<String> getFileNames() throws IOException;
public abstract Directory getDirectory();
public abstract long getVersion();
public long getTimestamp() throws IOException {
return getDirectory().fileModified(getSegmentsFileName());
}
所以通过indexCommit,Solr能知道那些文件是需要复制的。
复制索引文件
Solr复制是从机Slave不断的向主机发起轮询操作,看主机的索引文件版本是否发生变化,如果发生了变化,则从机就下载索引文件到一个临时目录,如果下载期间出现通讯故障,则会从断点出继续下载。下载完所有的文件时,把下载的文件移动到索引目录,通过ReplicationHandler发起一个commit命令,重新加载索引文件。
分享到:
相关推荐
solr增量导入更新索引包
solr创建索引并查询,希望能够帮助有需要的人。。。
NULL 博文链接:https://iamyida.iteye.com/blog/2214905
NULL 博文链接:https://takeme.iteye.com/blog/1849781
solr初学者很受用的!讲解了solr怎么创建索引的及其原理,以及查询
Solr数据库插入(全量和增量)索引,全量一般用于第一次创建索引情况,批量一般更新数据部分创建索引。
在tomcat中配置solr,以及solr 全文搜索建立索引的相关方法总结
索引是设计表的一部分,创建的索引对sql的语句木有任何影响,对sql语句的执行效率有影响
主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询
NULL 博文链接:https://yangjayup.iteye.com/blog/1773636
solr -8.11.1.zip 文件
包含solr介绍、全局索引介绍、ik分词器安装包、solr安装包、及各个部分的安装教程。
Solr 索引 测试报告 性能
NULL 博文链接:https://iamyida.iteye.com/blog/2214920
solr定时索引(增量索引、完整索引)需要用到的jar包和配置 支持7.3版本
solr搜索框架的中文分词器文件及配置详解供大家下载,亲测可用.解压出来的jar包放到apache-tomcat-9.0.20\webapps\solr\WEB-INF\lib下(Tomcat项目里solr项目)其他三个文件放到apache-tomcat-9.0.20\webapps\solr\...
solr测试数据,数据文件
本文档包括以下内容,通过下载该内容可以让你掌握solr学习的入门和适应基本开发。 1.学员操作手册-Solr搜索自动补全 2.solr实训教程.doc 3.积分商城基于Solr的搜索引擎优化.pdf 4.基于Solr的搜索引擎优化讲义.pdf 5....
Solr如何进行索引和搜索 索引:客户端(可以是浏览器可以是java程序)发送post请求到solr服务器,发给solr服务器一个文档(xml、json),就可以进行一个添加索引删除索引、修改索引的操作。 搜索:客户端(可以是...
Weiz.Solr 开发使用一些源码,如何使用检索查询。C#项目映入