2017-02-24 1 views
0

私は、インデクサーを使って回転するのに時間がかかる設定ファイルを持っています。回転とスフィンクスの再起動

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

しかし、私は更新された設定をテストしたいときに、それが壊れたり、望みの結果を届けないことがあります。通常、私は何をすべきか、その後

  1. は、元の作業の設定に戻って
  2. インデックス/回転、私はただの外に「良い」のインデックスをコピーすることができます場合、私は疑問に思ってしかし再び

をコンフィグレーションを元に戻していますディレクトリsphinxがアクセスする(例えばroot)、新しいものをインデックス化/回転させ、結果が気に入らなければ、もう1時間長いインデックスを実行するのではなく、古いインデックスに戻って新しくインデックスを付けたidxをコピーするルートに保存してから停止/再起動してください。

/usr/bin/searchd -c /home/indexer/MyConf.php --stop 
/usr/bin/searchd -c /home/indexer/MyConf.conf.php 

はい、私は気に入っていない変更があってもconfは残っていますが、大きな問題は私の個人的な状況にはまだ関係しています。私は、保存されたバージョンで回転したインデックスを置き換えて、元の位置に戻るために再起動することができますか、そうするために古い設定をインデックス化/回転する必要がありますか?

答えて

0

はい、これを行うことができます。

  1. .spl(ロック)ファイルをコピーしないことが最善、からインデックスをコピーします。その背中をコピーすると、スフィンクスを混乱させる可能性があります。

  2. また、理想的にその最高のコピーバックsearchdがシャットダウンされながら、スフィンクスフォルダにインデックス。インデックスファイルを上書きすると、スフィンクスが混乱したり、クラッシュしたりする可能性があります。あなたがそれをやめようとするほど大したことではなく、崩れたインデックスについては気にしませんが、副作用を混乱させる可能性は最低です。空想になりたいと思った場合は

....

  • だけAPPEND '.new' インデックス名にして、戻って古いインデックスをコピーできます(例えばindex.spdindex.new.spdになります)、アクティブなファイルを上書きするのではなく、searchd sighupシグナルを送信します。 Searchdはこの新しいバージョン(これは実際には古いバージョンです)をシームレスに読み込みます。これは、新しいバージョンをsearchdにロードするために同じrotateを使用しています。単に手動で行うだけです。
0

私はこれを行うために古い設定をインデックス/回転する必要がありますか?

動作するかどうかテストできます。私はSphinxを知らないが、単純なようだ。

  1. Sphinxプログラム/サービスを停止する。
  2. インデックスフォルダを任意の場所に移動します。
  3. デフォルトの構成ファイルをバックアップすると、インデックスフォルダが関連付けられます。
  4. テストする新しい構成ファイルを作成します。
  5. Sphinxをご希望のとおりにテストを開始してください。あなたは、バックアップの設定を戻したいとき後

は、プロセスが似ています

  1. Sphinxプログラム/サービスを停止します。
  2. インデックスフォルダを削除します。
  3. 前回入力した場所からインデックスフォルダを復元します。
  4. デフォルト設定ファイルのバックアップを元の場所に復元します。
  5. Sphinxをご希望のとおりにテストを開始してください。

すべてを配置したので、Sphinxが再度インデックスを作成するのを待つ必要はありません。アプリケーションは、あなたの速い忍者の動きを認識すべきではありません。

これが機能しない場合、Sphinxは、おそらくバックアップしているファイル以外のファイルを変更している可能性があります。

関連する問題