Hi Sergey For that kind of logic, you'd need to create a single attribute using SQL, because you can't use ORs across multiple attributes.
has 'SQL STATEMENT GOES HERE', :as => :user_id, :type => :multi The SQL statement would need to merge sender_id and recipient_id together, depending on the deleted_for_* columns being NULL. -- Pat On 09/09/2009, at 2:40 PM, Sergey Avseyev wrote: > > Hi all, > > Can I combine filters with thinking_sphinx? > I have messages: > > class Message < ActiveRecord::Base > belongs_to :sender, :class_name => 'User' > belongs_to :recipient, :class_name => 'User' > > define_index do > indexes :subject, :body > indexes sender.name, :as => :sender_name > indexes recipient.name, :as => :recipient_name > > > has > :recipient_id > , :deleted_for_recipient, :sender_id, :deleted_for_sender > end > end > > And I want to search messages, which not deleted > 'where (sender_id = ? AND deleted_for_sender is null) OR (recipient_id > = ? AND deleted_for_recipient is null) > > How should it implemented with :with/:with_all? > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en -~----------~----~----~----~------~----~------~--~---
