質問

私はacts_as_ferretを使用して、私のDBに非常に単純な検索をしています。私は私の「会場」モデルでこれを入れます:

acts_as_ferret :fields => [:name, :city]

そして、これは私のコントローラ検索アクションである。

@t = Venue.find_by_contents(params[:search]+'~')

、その後、私は結果をレンダリングします。

render :text => @t.to_json, :success => true, :status => :ok

私は簡単なテストを実行する場合:

http://localhost:3000/venue/list?search=The

私は、適切なクエリ「〜」は、インデックス上で実行されているというのが私のログに表示されます。しかし、私は結果を得ることはありません。私は間違いなく言葉「」nameフィールドにといくつかの「会場」を持っています。

これは非常に単純な検索とacts_as_ferretがかなり使用されているので、私はそれが破損したかどうかを確認するためにインデックスを再構築しようとした....いいえサイコロ

任意のアイデア?

ありがとうございます。

役に立ちましたか?

解決

はい、フェレットは、インデックスの破損のために非常によく知られている。

私はスフィンクスを考えるような別の検索プラグインへの切り替えをお勧めします。あなたはの詳細を学ぶためにをそれについてRailscastを見ることができます。

他のヒント

私はこの問題は、「」stopword-それだけですべての文書を返しますので、索引付けされていない非常に一般的な単語として定義されていることかもしれないと思います。あなたのストップワードリストを設定することができます。

私はあなたがフェレットに問題がある場合にSolrを使用して検討する。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top