【技术分享】sphinx的--rotate运行机制

如果sphinx在运行中,要indexer时,需要加上--rotate参数,这样索引完就直接生效了。

原因是sphinx的searchd在启动时会创建一个.sql锁文件,因为这时已经标志sphinx正在运行中,除非使用--rotate。

rotate运行机制

-》indexer完成索引

-》发送SIGHUP给searchd(同时在终端输出索引已经 完成)

-》searchd接到中断信号-》等待所有子进程退出

-》重命名 当前索引为旧索引为.old

-》重命名 .new索引文件作为当前索引

-》尝试加载索引文件-》如果加载失败,searchd会把.old文件回滚为当前文件,并把刚建立的新索引重命名为.new

-》加载成的话,完成无缝切换

-----------------------------------------------------------------------------------------------

手动重启的两种方法:

1

关闭 searchd:killall -9 searchd

重启 searchd:searchd -c ./sphinx.conf

2

关闭 searchd --stop

启动 searchd

原文链接: http://www.t086.com/article/5173

原文地址:https://www.cnblogs.com/babysay123/p/4581020.html