Can you provide a full example of the index definition and the search call? I'm 
thinking what you're after should be possible, just easier to be certain with a 
bit more context :)

On 27 Feb 2014, at 9:15 pm, J. Garcia <[email protected]> wrote:

> Trouble with each is I just get the rehydrated ActiveRecord objects, and no 
> info on the grouping. With each_with_count, same plus the count. I would need 
> the grouped field values as well, as returned from Sphinx raw query. I'm not 
> sure how to get them or how to patch Riddle in order to obtain them. Any hint 
> would be appreciated.
> 
> 
> On Thu, Feb 27, 2014 at 12:05 AM, Pat Allan <[email protected]> wrote:
> Yeah, I don't think you're going to be able to use 
> `each_with_group_and_count` when grouping by multiple columns - you'll just 
> have to use `each_with_count` or just `each`, and refer to those columns 
> specifically.
> 
> Appreciate the suggestion for the patch to Riddle - if you want to submit a 
> pull request (on the develop branch) that'd be brilliant, but otherwise I'll 
> sort it out soon.
> 
> On 27 Feb 2014, at 5:36 am, J. Garcia <[email protected]> wrote:
> 
>> Pat,
>> I do not know if it has further implications for older Sphinx versions, but 
>> if I patch the code, I still cannot get the group counts.
>> 
>> When issuing the raw SQL command for two group fields, Sphinx will return a 
>> specific column for each grouped field, plus a groupby() column with what 
>> seems like a CRC. I still cannot get this info via 
>> each_with_group_and_count, as it returns the groupby() column with some CRC 
>> value.
>> 
>> 
>> 
>> On Wed, Feb 26, 2014 at 2:45 PM, J. Garcia <[email protected]> wrote:
>> I've been debugging the code and found the culprit:
>> 
>> class Riddle::Query::Select
>> ...
>>   def to_sql
>>     sql = "SELECT #{ extended_values } FROM #{ @indices.join(', ') }"
>>     sql << " WHERE #{ combined_wheres }" if wheres?
>>     sql << " #{group_prefix} #{escape_column(@group_by)}" if !@group_by.nil?
>>     unless @order_within_group_by.nil?
>>       sql << " WITHIN GROUP ORDER BY 
>> #{escape_columns(@order_within_group_by)}"
>>     end
>>     sql << " HAVING #{@having.join(' AND ')}" unless @having.empty?
>>     sql << " ORDER BY #{escape_columns(@order_by)}" if !@order_by.nil?
>>     sql << " #{limit_clause}"   unless @limit.nil? && @offset.nil?
>>     sql << " #{options_clause}" unless @options.empty?
>> 
>>     sql
>>   end
>> 
>> It calls escape_column for @group_by, instead of escape_columns as for 
>> @order_within_group_by.
>> 
>> 
>> 
>> 
>> On Wed, Feb 26, 2014 at 1:36 PM, J. Garcia <[email protected]> wrote:
>> Pat,
>> Thanks for your response.
>> Just passing any of the two fields in a string worked fine. When I tried to 
>> pass the two in a comma-separated string I got this stacktrace:
>> 
>> 
>> ThinkingSphinx::SyntaxError: sphinxql: syntax error, unexpected $undefined, 
>> expecting IDENT (or 5 other tokens)  near '`user_id,` type LIMIT 0, 20; SHOW 
>> META'
>>     from 
>> .../gems/thinking-sphinx-3.1.0/lib/thinking_sphinx/connection.rb:90:in 
>> `rescue in query'
>> 
>> 
>> 
>> 
>> On Tue, Feb 25, 2014 at 11:59 PM, Pat Allan <[email protected]> 
>> wrote:
>> Can you try passing in a string of comma-separated attributes, instead of an 
>> array of symbols?
>> 
>> -- 
>> Pat
>> 
>> On 26 Feb 2014, at 4:47 am, J. Garcia <[email protected]> wrote:
>> 
>>> Hi,
>>> According to Sphinx, it is possible to do a group_by on multiple fields 
>>> since version 2.1.2: http://sphinxsearch.com/bugs/view.php?id=1453
>>> 
>>> I haven't found a way to do a search on multiple fields with Thinking 
>>> Sphinx.
>>> Is it possible to group by multiple fields on Thinking Sphinx?
>>> I have tried by including several group_by but does not seem to work.
>>> And passing an array of attributes does not seem to be accepted by Thinking 
>>> Sphinx:
>>> 
>>> ThinkingSphinx::SyntaxError: sphinxql: syntax error, unexpected $undefined, 
>>> expecting IDENT (or 5 other tokens) near '`[:user_id,` :type] LIMIT 0, 20; 
>>> SHOW META'
>>>     from 
>>> .../gems/thinking-sphinx-3.1.0/lib/thinking_sphinx/connection.rb:90:in 
>>> `rescue in query'
>>> 
>>> J.
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Thinking Sphinx" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> 
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/thinking-sphinx.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Thinking Sphinx" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/thinking-sphinx/bZpFqr1-iTU/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/thinking-sphinx.
>> For more options, visit https://groups.google.com/groups/opt_out.
>> 
>> 
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Thinking Sphinx" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/thinking-sphinx.
>> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Thinking Sphinx" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/thinking-sphinx/bZpFqr1-iTU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to