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