I determined this problem is difficult to solve through Sphinx because
it indexes directly from the database. While this definitely offers a
speed benefit, it makes it difficult to do custom attribute indexing
without filling up the database with many extra columns and dealing
with syncing issues.

I ended up using Xapian which offers a nice indexing solution through
its Ruby bindings. This allows me to index custom values for the
facets. True, the indexing is slower, but for me this is not a
problem.

For those interested, check out the library I'm building to accomplish
this (called Xapit) here:
http://github.com/ryanb/xapit/tree/master

Regards,

Ryan

On Mar 10, 9:52 am, Ryan Bates <[email protected]> wrote:
> Thanks Pat. I'll attempt to get this working through some hacking and
> post my findings back here.
>
> Ryan
>
> On Mar 10, 6:09 am, Pat Allan <[email protected]> wrote:
>
>
>
> > Hi Ryan
>
> > I'm afraid I can't help you at the moment - TS's facet support isn't  
> > that complex, and I'm not sure if Ultrasphinx's is any better, for  
> > what you want. You're not the first to request ranged facets, so it's  
> > definitely on my radar, but I'm struggling to find time even to polish  
> > up the current facet code.
>
> > If you want to hack something together, that'd be fantastic. If you  
> > just need something to run with right now, then Solr might be the  
> > better option - I think it has ranged facet support.
>
> > Cheers
>
> > --
> > Pat
>
> > On 10/03/2009, at 10:33 AM, Ryan Bates wrote:
>
> > > Thanks Pat for adding facet support to TS, but I could not find too
> > > much documentation on it aside from this mailing list. I've got it
> > > working great for simple values, but is it possible to add facets for
> > > more complex scenarios?
>
> > > Take price ranges for one example. Let's say we have many products
> > > with varying prices, and we would like to provide the option to filter
> > > by price groups.
>
> > > Price
> > >  under $5 (20)
> > >  $5 to $10 (8)
> > >  $10 to $20 (13)
> > >  $20 to $50 (54)
> > >  more than $50 (3)
>
> > > An even more complex scenario is that products have many reviews
> > > (separate table), each with a 1-5 star rating. We would like to
> > > average up the rating for each product and filter based on that.
>
> > > Rating
> > >  Not Rated (10)
> > >  1 star (3)
> > >  2 stars (8)
> > >  3 stars (27)
> > >  4 stars (48)
> > >  5 stars (21)
>
> > > Does the built in facets provide an easy way to do this kind of thing?
> > > If not, do you recommend I bypass the current facets support and
> > > implement my own way for doing this at a lower level?
--~--~---------~--~----~------------~-------~--~----~
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