2

Sphinx を使用してアプリケーションを外部サーバーに接続する必要があります。Sphinx は多くのアプリケーションで使用されていますが、私は管理していません。Thinking Sphinx を使用してその外部サーバーに接続するには、アプリケーションで何を設定する必要がありますか?

ローカルデーモンを使用しておらず、インデックス作成も行っていないため、 rake ts:start を実行しないと仮定します。

addressおよびの設定を含むファイル thinking_sphinx.yml を config ディレクトリに追加しましたmysql41。コンソールから検索を実行しようとすると、次のようになります。

User.search('jon', indices: [ 'users' ] ) 
(Object doesn't support #inspect)
 =>

アプリケーションで Thinking Sphinx を機能させるには、他に設定が必要ですか?

編集:

Sphinx 管理者にインデックス名を に変更するように依頼したuser_coreので、インデックスを指定する必要はありません。私が実行すると:

User.search('jon').first

私は得る:

NoMethodError: undefined method `constantize' for nil:NilClass

どんな助けでも大歓迎です

4

1 に答える 1

0

この Sphinx サーバーは、ローカルの Thinking Sphinx 構成とは別にセットアップされていますか? Thinking Sphinx は、特定の属性が Sphinx インデックスに存在することを期待しています (そして、お気づきのように、特定の命名規則も)。また、ActiveRecord モデルと同じデータ ソースを使用する必要があります。

要するに、Sphinx の構成が Thinking Sphinx によって生成されていない場合、それと Thinking Sphinx を混在させるのは非常にためらいます。

それ以外の場合: NoMethodError の完全なスタック トレースが役立ちます。

于 2013-10-11T05:35:03.093 に答える