0

ThinkingSphinxに自分の状態を認識させるのに問題があります。

私のディスカッションモデルには、次のコードが含まれています。

define_index do
  indexes [subject, body], :as => :text
  indexes replies.body, :as => :reply_text
  set_property :delta => true
end

そして予想通り、この検索

Discussion.search "handy"

件名、本文、または返信の本文に「便利」という単語が含まれるディスカッションを返します。

現在、「投稿の削除」機能を実装しています。:disabled==falseというフィールドがあるディスカッションのみを表示したいと思います。

残念ながら、この検索:

Discussion.search "handy", :conditions => { :disabled => false }

何があっても、常に空の配列を返します。

なんで?

4

1 に答える 1

1

ブロックに属性をdisabled定義する必要があります。define_index

define_index do
  indexes [subject, body], :as => :text
  indexes replies.body, :as => :reply_text

  has disabled

  set_property :delta => true
end

これが完了したら、Sphinx を停止し、インデックスを再作成して再起動すると、うまくいくはずです。

于 2009-04-30T02:36:44.737 に答える