Guys Shaun , Pat . Thank you very much . This helped me .
On Tuesday, 26 January 2010 11:45:56 UTC+5:30, Shaun wrote: > > Hello again > > For anyone who is interested - I have implemented Pat's idea about > grouping by a multi-field CRC32 attribute (see above) and it works > great. > > I have a question about field_weights but I'll create a new thread. > > Thanks again Pat. > > Shaun > > On Jan 25, 8:04 am, Shaun <[email protected]> wrote: > > Cheers Pat > > > > I'm hoping it's not such an odd case, it's just that we need to > > display search results based on lots of different criteria, not just > > simply ordering by date or title etc. I think your previous suggestion > > about creating a new attribute based on CRC32-ing the various fields > > to group_by is excellent and I will implement that today and report > > back on how successful it is. My main concern was that if I do start > > grouping like that, I might loose control over the order in which the > > records are displayed within the group. i.e which record actually > > displays, representing the group. I will play with the group_clause > > and see how I get on. > > > > Apart from that, I was just interested in the difference between using > > group_by in the model and group_by in the query. > > > > As always, thanks for getting back. > > > > Shaun > > > > On Jan 25, 2:45 am, Pat Allan <[email protected]> wrote: > > > > > > > > > Hi Shaun > > > > > TS really works best if a normal search translates nicely across to > each row in the model's table, instead of grouping on that table's columns > (ie: each document id in Sphinx should map to a record in the table). So > I'd stick to using Sphinx's grouping instead when searching. > > > > > I've not tested it, but if you wanted to group for *every* search on a > specific model, you may be able to use :group_by et al in your define_index > block, like so: > > > set_property :group_by => 'group_num' > > > > > I see this as a pretty odd case, though... would it be better changing > the way your tables are structured instead? Though that maybe isn't a good > fit from the overall perspective of the app. > > > > > -- > > > Pat > > > > > On 24/01/2010, at 5:02 PM, Shaun wrote: > > > > > > Hi Pat > > > > > > Thanks for getting back to me mate. Greatly appreciated! > > > > > > Yeah, that sounds like a good idea, I hadn't thought of it like that > - > > > > it just takes thinking about things a little differently. Thanks for > > > > the pointer. > > > > > > Is there any more information on the difference between using > group_by > > > > in the search query and using it in the index? If you group in the > > > > index by one field and then use group by in the search query on > > > > another field, what would be happening behind the scenes there? > > > > > > Also, is it possible to set the group clause when grouping at the > > > > index level to set the order by which the records are grouped? > > > > > > Thanks again > > > > > > Shaun > > > > > > On Jan 23, 9:14 pm, Pat Allan <[email protected]> wrote: > > > >> Hi Shaun > > > > > >> There was support for grouping on a pair of attributes back in > Sphinx 0.9.8, but that was really just a hack for 64bit int support, which > is now in 0.9.9. > http://www.sphinxsearch.com/forum/view.html?id=890http://www.sphinxse... > > > > > >> If you want results grouped by format and title together, why not > set a single attribute that CRC's both of them? > > > >> has "CRC32(CONCAT(format, title))", :as => :group_num, :type => > :integer > > > > > >> -- > > > >> Pat > > > > > >> On 22/01/2010, at 7:35 PM, Shaun wrote: > > > > > >>> Hi there > > > > > >>> Is there a way I can group my results by multiple attributes? I > have > > > >>> many records that contain the same data in a few fields and need to > > > >>> collapse them into one record. Am I right in thinking the :group_by > > > >>> option in the search method only allows one attribute to be > specified? > > > >>> I have tried :group_by => 'field_one, field_two' but I then get > zero > > > >>> results from the search. I am also specifying the group_function as > > > >>> attr and a group_clause as results within the group need to be > > > >>> ordered: > > > > > >>> Product Model: > > > > > >>> define_index do > > > >>> indexes title > > > > > >>> has "CRC32(format)", :as => :num_format, :type => :integer > > > >>> has "CRC32(title)", :as => :num_title, :type => :integer > > > >>> has "COUNT(DISTINCT suppliers.id)", :as => :supplier_count, > :type > > > >>> => :integer > > > >>> end > > > > > >>> @products = Product.search( > > > >>> :conditions => {:title => params[:q]}, > > > >>> :page => params[:page] || 1, > > > >>> :index => 'product_core', #I have another index in the > > > >>> same model > > > >>> :group_by => 'num_format', > > > >>> #would like to say :group_by => 'num_title, num_format', > > > >>> :group_function => :attr, > > > >>> :group_clause => "supplier_count desc" > > > >>> ) > > > > > >>> Is there something else I should be doing? > > > > > >>> Any suggestions welcome! > > > > > >>> Many thanks > > > > > >>> Shaun > > > > > >>> -- > > > >>> 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]<javascript:> > . > > > >>> To unsubscribe from this group, send email to > [email protected] <javascript:>. > > > >>> For more options, visit this group athttp:// > 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]<javascript:> > . > > > > To unsubscribe from this group, send email to > [email protected] <javascript:>. > > > > For more options, visit this group athttp:// > groups.google.com/group/thinking-sphinx?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To view this discussion on the web visit https://groups.google.com/d/msg/thinking-sphinx/-/vQB6l__KF0kJ. 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.
