我有solr设置,配置为Master和slave。索引发生在主站和从站中,每隔2分钟从主站复制索引。因此,从主站到从站的数据有2分钟的延迟。让我们假设我的主人在10:42索引一些数据,但由于一些硬件问题,主人在10:43失败了。所以现在在10:42索引的数据假设在Slave上复制了10:44(因为我们设置了两分钟间隔)因为现在主服务器不可用,如何识别solr主服务器中的最后一个索引数据。在solr日志中是否有方法来跟踪索引活动。
先谢谢
答案 0 :(得分:1)
如果Solr日志设置为INFO
,Solr会记录索引操作。任何提交/添加都将显示在日志中,因此您可以检查日志以确定上次添加的时间。根据设置的不同,当服务器关闭时,可能很难获得最后一个日志。
您可以缩短复制之间的时间以获得更多实时复制,或者使用SolrCloud(它应该在索引时分发文档)。
还有API端点(请参阅Admin界面在浏览到“复制”状态页面时所做的连接)以获取复制状态,但如果服务器已经消失,那些端点将无法帮助您。
一般情况下 - 如果服务器不可用,您将很难知道它最后被索引的时间。您可以通过在索引任务中存储Solr之外的索引时间来解决一些问题,例如,每次从应用程序发送要索引的内容时,都要更新memcache或MySQL中的值。