2009-04-29 5 views
0

ThinkingSphinx에서 내 조건을 인식하는 데 문제가 있습니다.ThinkingSphingx에서 조건을 수용하지 않습니다.

내 토론 모델은 다음과 같은 코드를 포함

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 } 

항상 상관없이 빈 배열을 반환합니다.

왜?

답변

1

당신은 속성 disableddefine_index 블록에 정의되어 있어야합니다 :

이 작업을 완료하면
define_index do 
    indexes [subject, body], :as => :text 
    indexes replies.body, :as => :reply_text 

    has disabled 

    set_property :delta => true 
end 

, 스핑크스, 다시 인덱스 및 시작, 중지, 다시 희망이 작동합니다.

+0

당신은 흔들어 놓습니다. 감사! – Raphomet