我有一个配置文件需要很长时间才能使用索引器进行旋转,例如
indexer --config /home/indexer/MyConfig.conf.php --rotate idx_Big
我可以忍受这种情况但是有时当我想测试更新的配置时,它可能会破坏或不能提供所需的结果。通常我所做的就是
但是我想知道我是否可以将“好”索引从sphinx访问目录(例如root)中复制出来,索引/旋转新的索引然后如果我不喜欢结果,而不是再做一小时long index / rotate to old index只需将新索引的idx复制到我保存在root中的idx,然后停止/重启例如。
/usr/bin/searchd -c /home/indexer/MyConf.php --stop
/usr/bin/searchd -c /home/indexer/MyConf.conf.php
是的,我确实认为conf仍然是我不喜欢的变化,但更大的问题仍然与我的个人情况有关;我可以用保存的版本替换我旋转的索引并重新启动以返回到我的位置或者我需要索引/旋转旧设置吗?
答案 0 :(得分:0)
我需要索引/旋转旧设置才能这样做吗?
您可以测试它是否有效。我不知道Sphinx
,但似乎很简单:
Sphinx
计划/服务。Sphinx
进行测试。如果您想要使用备份设置返回,则过程类似:
Sphinx
计划/服务。Sphinx
进行测试。现在你不需要等待一个小时让Sphinx
再次索引,因为你把所有东西放在适当的位置。应用程序不应该知道你的快速忍者动作。
如果不起作用,Sphinx
可能会更改除备份之外的其他文件。
答案 1 :(得分:0)
是的,你可以这样做。
复制索引 out 时,最好不要复制.spl
(锁定)文件。复制它可能会混淆狮身人面像。
理想情况下,当searchd
关闭时,最好将索引返回复制到sphinx文件夹。覆盖索引文件可能会使sphinx感到困惑和/或崩溃。因为你要停止它并且显然不关心那些被破坏的指数,但没有什么大不了的,但最好的混淆副作用的可能性更小。
如果想要花哨 ....
index.spd
变为index.new.spd
),而不是覆盖活动文件,然后发送searchd sighup
信号。然后,Searchd将无缝地加载此 new 版本(实际上只是旧版本)。这是使用相同的旋转用途将新版本加载到searchd中,只需手动执行即可。