sphinx ---rotate 运行机制
2015-07-30 08:41
246 查看
如果sphinx在运行中,要indexer时,需要加上--rotate参数,这样索引完就直接生效了。
原因是sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它。在indexer创建索引时如果发现有 .spl文件,则不会创建新索引,因为这时已经标志sphinx正在运行中,除非使用 –rotate。
rotate运行机制
->indexer完成索引
->发送SIGHUP 给searchd(同时在终端输出索引已经完成)
->searchd接到中断信号->等待所有子进程退出
->重命名 当前索引为旧索引为 .old
->重命名 .new 索引文件作为当前索引
->尝试加载当前索引文件->如果加载失败,searchd会把.old文件回滚为当前文件,并把刚建立的新索引重命名为 .new
->加载成的话:完成无缝切换
手动重启的两种办法:
1.
2.
原因是sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它。在indexer创建索引时如果发现有 .spl文件,则不会创建新索引,因为这时已经标志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
相关文章推荐
- iOS UI01_UIView
- Windows 操作系统与 .NET Framework
- 并查集详解,不会的同学可以来瞅瞅,转载的,不过加了一些自己的理解。
- session之退出登陆
- 求的数组中不定元素的和为一个定制的所有可能
- 用Kettle的一套流程完成对整个数据库迁移 - - ITeye技术网站
- 有用的第三方库
- 教你快速高效接入SDK——Unity统一接入渠道SDK(Android篇)
- Java 迭代器以及和for循环的比较
- 连载三之OC面向对象编程中的继承
- 原生js与jQuery实现简单的tab切换特效对比
- iOS完整学习路线图
- 浅谈 ZipArchive 类
- Spring讲解------------零配置
- 电平标准
- arcgis AO 和AE的区别
- 解决Unity的 The file 'MemoryStream' is corrupted! Remove it and launch 崩溃问题
- Windows下的cd命令
- UI_最基础的登陆界面
- 后台处理前台模板例子(tmp文件)