ThinkingSphinx n'accepte pas les conditions
-
03-07-2019 - |
Question
Je ne parviens pas à faire reconnaître mes problèmes à ThinkingSphinx.
Mon modèle de discussion inclut le code suivant:
define_index do
indexes [subject, body], :as => :text
indexes replies.body, :as => :reply_text
set_property :delta => true
end
Et comme prévu cette recherche
Discussion.search "handy"
renvoie toute discussion avec le mot "pratique". dans son sujet, le corps ou le corps d'une de ses réponses.
Maintenant, je suis en train de mettre en place un " suppression de messages " fonctionnalité, et je veux afficher uniquement les discussions dont le champ s'appelle: disabled == false.
Malheureusement, cette recherche:
Discussion.search "handy", :conditions => { :disabled => false }
renvoie toujours un tableau vide, quoi qu'il arrive.
Pourquoi?
La solution
Vous aurez besoin d'un attribut désactivé
défini dans votre bloc define_index
:
define_index do
indexes [subject, body], :as => :text
indexes replies.body, :as => :reply_text
has disabled
set_property :delta => true
end
Une fois que vous avez terminé, arrêtez Sphinx, réindexez et redémarrez, et espérons que cela fonctionne.