2010-11-29 18 views
3

これは非常に奇妙です。私は3つのモデル(A、B、C)を持っています。 crontabがそれを実行するときに完全に動作していました。私は手動でrake ts:index RAILS_ENV=productionを起動するとスフィンクスが特定のモデルのインデックスを作成していないと考える

最近、私はモデルA.

のための新しいエントリをインデックスに問題を抱えていた、インデックスが正常に動作します。エラーなし、問題ありません。しかし、モデルB、Cのみが更新されます。モデルAは更新されません。私はすべてのログをチェックしたが、問題はなかった。ここで

searchd.logです:

ここ
[Mon Nov 29 15:02:27.920 2010] [ 7280] rotating indices (seamless=1) 
[Mon Nov 29 15:02:28.211 2010] [ 7280] rotating index 'b_core': success 
[Mon Nov 29 15:02:28.215 2010] [ 7280] rotating index 'c_core': success 
[Mon Nov 29 15:02:28.216 2010] [ 7280] rotating finished 

あなたはa_coreは表示されませんわかります。これらはすべてうまくいきました。私はそれが実行されて見たとき、それはインデックスAでしたが、最後に更新されたときに私のsphinx dbをチェックしたとき、それは更新されませんでした。すべてのSphinx dbの許可はすべて同じです。

インデックス作成を正常に実行するには、古いsphinx dbを削除し、ts:rebuild全体を起動するしかありません。私はproduction.sphinx.confを削除しようとしていません。

これまでデルタインデックスを追加しようとしました。デルタインデックスは何とかできませんでしたが、通常のインデックス作成はうまくいきました。それで、モデルAの索引付けが破られました。とにかくそれが壊れたことはわかりませんでした。その後、列を削除せずにデルタインデックスを無効にしました。 (私は、インデックス作成がモデルAで正常に動作していることはまだ分かっていませんでした)。それから、今日、モデルAのインデックス作成に問題があることがわかりました。だから私は多分私のデータベース内のデルタ列を削除していないと思った。だから私は列を削除し、MySQL、Apache、モデルAのインデックスを再起動しても更新されません。

デルタインデックスとは関係ないと思いますが、私が追加したので、すべてのA、B、Cモデルのデルタインデックスが削除されました。それが壊れなければ、ただ1つのモデルの代わりにすべてを破壊するはずです。

助けてください。ありがとうございました。

EDIT モデルそれが判明し

# ThinkingSphinx Index 
    define_index do 
    indexes :name, :sortable => true 
    indexes address 
    indexes city 
    indexes state 
    indexes country 
    indexes spot_type 
    indexes season 
    indexes description 
    has rating_average 

    # set_property :delta => true 
    end 

モデルB

# ThinkingSphinx Index 
    define_index do 
    indexes name 
    indexes duration 
    has budget, created_at, rating_average 

    # set_property :delta => true 
    end 
+0

インデックスをAとBで定義する方法を教えてください。 – tjeden

+0

@tjeden - 私の更新をご覧ください。ありがとうございました。 – Victor

答えて

0

は、私のサーバーは、ディスク・スペースを使い果たしました。モデルAのインデックスは他のモデルよりもはるかに大きいです。インデックス作成は成功しましたが、ディスクに書き込むことはできませんでした(エラー出力はありませんでしたが)。しかし、モデルAにますます多くのコンテンツを追加しようとし続け、再構築を続けると、ディスクスペースの問題が明らかになりました。

私はディスクサイズを増やしました。今それはいいです。

関連する問題