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.

Reply via email to