旋转vs重启狮身人面像

时间:2017-02-24 18:56:02

标签: sphinx

我有一个配置文件需要很长时间才能使用索引器进行旋转,例如

indexer --config /home/indexer/MyConfig.conf.php  --rotate idx_Big

我可以忍受这种情况但是有时当我想测试更新的配置时,它可能会破坏或不能提供所需的结果。通常我所做的就是

  1. 将配置还原为原始工作设置
  2. 索引/再次旋转
  3. 但是我想知道我是否可以将“好”索引从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仍然是我不喜欢的变化,但更大的问题仍然与我的个人情况有关;我可以用保存的版本替换我旋转的索引并重新启动以返回到我的位置或者我需要索引/旋转旧设置吗?

2 个答案:

答案 0 :(得分:0)

  

我需要索引/旋转旧设置才能这样做吗?

您可以测试它是否有效。我不知道Sphinx,但似乎很简单:

  1. 停止Sphinx计划/服务。
  2. 将索引文件夹移动到您想要的任何内容。
  3. 备份您的默认配置文件,索引文件夹绑定。
  4. 创建要测试的新配置文件。
  5. 根据需要启动Sphinx进行测试。
  6. 如果您想要使用备份设置返回,则过程类似:

    1. 停止Sphinx计划/服务。
    2. 删除索引文件夹。
    3. 从您上次放置的其他位置恢复索引文件夹。
    4. 将默认配置文件的备份还原到最初所属的位置。
    5. 根据需要启动Sphinx进行测试。
    6. 现在你不需要等待一个小时让Sphinx再次索引,因为你把所有东西放在适当的位置。应用程序不应该知道你的快速忍者动作。

      如果不起作用,Sphinx可能会更改除备份之外的其他文件。

答案 1 :(得分:0)

是的,你可以这样做。

  1. 复制索引 out 时,最好不要复制.spl(锁定)文件。复制它可能会混淆狮身人面像。

  2. 理想情况下,当searchd关闭时,最好将索引返回复制到sphinx文件夹。覆盖索引文件可能会使sphinx感到困惑和/或崩溃。因为你要停止它并且显然不关心那些被破坏的指数,但没有什么大不了的,但最好的混淆副作用的可能性更小。

  3. 如果想要花哨 ....

    • 只需复制旧索引,并附加' .new'到索引名称(例如index.spd变为index.new.spd),而不是覆盖活动文件,然后发送searchd sighup信号。然后,Searchd将无缝地加载此 new 版本(实际上只是旧版本)。这是使用相同的旋转用途将新版本加载到searchd中,只需手动执行即可。
相关问题