Domanda

Ho difficoltà a far riconoscere ThinkingSphinx alle mie condizioni.

Il mio modello di discussione include il seguente codice:

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

E come previsto questa ricerca

Discussion.search "handy"

restituisce qualsiasi discussione con la parola " utile " nel soggetto, nel corpo o nel corpo di una delle sue risposte.

Ora sto implementando un " eliminazione di post " e voglio mostrare solo discussioni in cui il campo ha chiamato: disabled == false.

Sfortunatamente, questa ricerca:

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

restituisce sempre un array vuoto, qualunque cosa accada.

Perché?

È stato utile?

Soluzione

Devi avere un attributo disabilitato definito nel tuo blocco define_index :

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

  has disabled

  set_property :delta => true
end

Una volta fatto questo, fermare Sphinx, reindicizzare e riavviare, e speriamo che dovrebbe funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top