Hi Pat, yes, for a product it's a MVA and for an offer a single integer, but I get the same result for an offer index definition with the type declaration: class Offer has shop_participation(:shop_id), :as => :shop_id, :type => :multi end
Aussie-Fan On 6 Sep., 01:25, Pat Allan <[email protected]> wrote: > Not really sure why this is happening - looks like you're doing everything > right. > > Just to confirm: is the attribute a single id for Offer, but multiple for > Product? I wonder if Sphinx isn't happy that they're different data types > (MVA vs single integer). > > -- > Pat > > On 05/09/2011, at 6:14 PM, aussie-fan wrote: > > > > > > > > > Hi, > > > I'm a little bit confused. > > > I try to group by an attribute called 'shop_id' in an application wide > > search: > > ts = ThinkingSphinx.search(:classes => [Offer, > > Product], :match_mode=>:any, :with=>{:showable=>true, > > :matched_to_product=>[0, > > 2]}, :ignore_errors=>false, :page=>1, :per_page=>12, :sort_mode=>:extended, > > :order=>"ranking > > DESC, @relevance > > DESC", :group_by=>"shop_id", :group_function=>:attr, :group_clause=>"@count > > desc") > > > Both models have this integer attribute. > > class Product > > has shop_participations(:shop_id), :as => :shop_id > > end > > > class Offer > > has shop_participation(:shop_id), :as => :shop_id > > end > > > But it results in: > > ThinkingSphinx::SphinxError: group-by attribute 'shop_id' not found > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/thinking- > > sphinx-2.0.5/lib/thinking_sphinx/search.rb:406:in `block in populate' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/thinking- > > sphinx-2.0.5/lib/thinking_sphinx/search.rb:551:in `call' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/thinking- > > sphinx-2.0.5/lib/thinking_sphinx/search.rb:551:in > > `retry_on_stale_index' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/thinking- > > sphinx-2.0.5/lib/thinking_sphinx/search.rb:394:in `populate' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/thinking- > > sphinx-2.0.5/lib/thinking_sphinx/search.rb:176:in `method_missing' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ > > railties-3.0.4/lib/rails/commands/console.rb:44:in `start' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ > > railties-3.0.4/lib/rails/commands/console.rb:8:in `start' > > from /home/sebastian/.rvm/gems/ruby-1.9.2-p180@rails3/gems/ > > railties-3.0.4/lib/rails/commands.rb:23:in `<top (required)>' > > from script/rails:7:in `require' > > from script/rails:7:in `<main>' > > > If I do the search for each model, there's no problem: > > os = > > Offer.search(:match_mode=>:any, :with=>{:showable=>true, > > :matched_to_product=>[0, > > 2]}, :ignore_errors=>false, :page=>1, :per_page=>12, :sort_mode=>:extended, > > :order=>"ranking > > DESC, @relevance > > DESC", :group_by=>"shop_id", :group_function=>:attr, :group_clause=>"@count > > desc") > > > ps = > > Product.search(:match_mode=>:any, :with=>{:showable=>true, > > :matched_to_product=>[0, > > 2]}, :ignore_errors=>false, :page=>1, :per_page=>12, :sort_mode=>:extended, > > :order=>"ranking > > DESC, @relevance > > DESC", :group_by=>"shop_id", :group_function=>:attr, :group_clause=>"@count > > desc") > > > But why? > > > Aussie-Fan > > > -- > > 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 > > 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]. 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.
