4

私はスフィンクスを使用して、2 つのモデルとそれらの関連付けを検索しています。デルタ インデックスを使用しています。開発モード(Ubuntu)の私の開発ボックスでは問題なく動作します。ただし、ステージング ボックスの運用環境では、新しいレコードを作成するときに、新しく作成したレコードを検索可能にするために、インデックスを再度作成する必要があります。さらに奇妙なのは、スクリプト/コンソールを使用してレコードを作成すると、インデックスが作成されて検索可能になっているように見えることです。

アソシエーションが更新後に機能するように、すべてのアソシエーション モデルに対して、これら 2 つのモデル レコードのデルタを true に設定する after_save メソッドを用意しました。これがこれと関係があるかどうかはわかりません。

スフィンクスの宝石バージョンを考えて、アクセス許可を確認しましたが、すべて問題ないようです。何が間違っている可能性がありますか?

編集

http://freelancing-god.github.com/ts/en/common_issues.html#deltasもチェックアウトしましたが、機能していないようです。はい、サーバーは Phusion Passenger で実行されます。

4

1 に答える 1

1

この正確な問題のようなものがありましたが、それは依存関係の解決の問題だったと思います。

ここで私の投稿を参照してください。

どういうわけか、gem 経由で thinking-sphinx の更新バージョンが私のマシンにインストールされたと思いますが、まだ apt-get 経由でインストールされていました。aptでパージしてから、再インストールしました。その後、テーブルに :type という使用してはいけない特別なフィールドがあることがわかりました。移行を編集して、そのタイプを削除し、別の名前で再度追加しました。その後、うまくいきました。モデル、検索を呼び出すコントローラー アクション、任意の rake コマンドを呼び出す際の目立つ出力について、関連するコードを投稿する必要があります。gem をアンインストールしてから再インストールしてみてください。次に、apt パッケージをアンインストールして、再インストールします。

于 2012-07-13T00:53:41.083 に答える