Hi Bob

There's no clean way of doing this, but you could make the query yourself 
manually (ie: a normal search instead of @facets.for(:facet => x)).

  Model.search 'normal search', :with_all => {:activity_ids => [1, 2]}

If the facet is built off a string/field, not integers, then the field name 
gets a _facet suffix, and CRC'd:

  Model.search 'normal search', :with_all => {:activities_facet => 
['hiking'.to_crc32, 'swimming'.to_crc32]}

Hope this helps.

-- 
Pat

On 13/03/2010, at 11:55 AM, Bob B. wrote:

> Hi,
> 
> I'm using facets with an HABTM relationship and it's been working
> well.  The one problem I'm having is that when two or more facets
> underneath the HABTM relationship are selected, Sphinx will OR them
> instead of ANDing them.
> 
> So, say I'm searching on a trip by activities.  I click on the
> "hiking" facet and get this:
> 
> hiking (10)
> swimming (4)
> boating (3)
> skiing (1)
> 
> where the number is the count of trips that have this activity along
> with hiking.  If the user adds "swimming" as a facet (now hiking and
> swimming are both selected), I'd expect 3 trips to be returned, but
> instead it returns way more.  It behaves this way because it's now
> grabbing all trips that have hiking OR swimming.  Is there anyway to
> tell Sphinx (or Thinking Sphinx) that I'd like the HABTM relationship
> ANDed?
> 
> Thanks,
> Bob
> 
> -- 
> 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.
> 

-- 
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.

Reply via email to