Sphinx 旋转与重新启动斯芬克斯
我有一个配置文件,使用索引器旋转需要很长时间,例如Sphinx 旋转与重新启动斯芬克斯,sphinx,Sphinx,我有一个配置文件,使用索引器旋转需要很长时间,例如 indexer --config /home/indexer/MyConfig.conf.php --rotate idx_Big 我可以接受这种情况,但有时当我想测试更新的配置时,它可能会中断或无法提供所需的结果。通常我做的是 将配置恢复为原始工作设置 再次索引/旋转 但是,我想知道我是否可以从sphinx访问目录(例如root)中复制“good”索引,索引/旋转新索引,然后如果我不喜欢结果,而不是执行另一个长达一小时的索引/旋转回旧索引
indexer --config /home/indexer/MyConfig.conf.php --rotate idx_Big
我可以接受这种情况,但有时当我想测试更新的配置时,它可能会中断或无法提供所需的结果。通常我做的是
/usr/bin/searchd -c /home/indexer/MyConf.php --stop
/usr/bin/searchd -c /home/indexer/MyConf.conf.php
是的,我确实知道conf仍然是一个我不喜欢的变化,但更大的问题仍然与我的个人情况有关;我是否可以用保存的版本替换我旋转的索引,然后重新启动以返回到原来的位置,或者我是否需要索引/旋转旧设置才能这样做
我是否需要索引/旋转旧设置才能执行此操作
您可以测试它是否有效。我不知道斯芬克斯,但似乎很简单:
Sphinx
程序/服务Sphinx
进行测试Sphinx
程序/服务Sphinx
进行测试Sphinx
再次索引,因为您已将所有内容放置到位。应用程序不应该知道你的快速忍者动作
如果不起作用,Sphinx
可能会更改备份文件以外的其他文件。是的,您可以这样做
.spl
(锁定)文件。把它复制回去可能会把斯芬克斯搞糊涂searchd
时,最好将索引复制回sphinx文件夹。覆盖索引文件可能会混淆和/或使sphinx崩溃。这没什么大不了的,因为你将要停止它,而且显然不关心当前的指数,但最好是减少令人困惑的副作用- 只需将旧索引复制回,并将“.new”附加到索引名称(例如
变为index.spd
),而不是覆盖活动文件,然后发送searchdindex.new.spd
信号。然后Searchd将无缝地加载这个新版本(实际上又是旧版本)。这与rotate将新版本加载到searchd时使用的方法相同,只是“手动”而已sighup