ThinkingSphinx não aceitar condições
-
03-07-2019 - |
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ê?
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