Pergunta

Estou tendo problemas para obter ThinkingSphinx a reconhecer minhas condições.

modelo de minha discussão inclui o código a seguir:

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

E como esperado esta pesquisa

Discussion.search "handy"

retorna qualquer discussão com a palavra "acessível" em seu assunto, corpo, ou o corpo de uma das suas respostas.

Agora eu estou implementando um recurso de "apagar mensagens", e eu quero mostrar apenas discussões onde o campo chamado:. Disabled == false

Infelizmente, esta busca:

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

sempre retorna uma matriz vazia, não importa o quê.

Por quê?

Foi útil?

Solução

Você precisa ter uma disabled atributo definido no seu bloco define_index:

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

  has disabled

  set_property :delta => true
end

Uma vez feito isso, pare Esfinge, re-índice, e reiniciar, e espero que ele deve funcionar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top