Thanks, Pat, but I have already tried that. I should have mentioned that in my post. Doing that produces this error:
Mysql2::Error: index wine_core: sort-by attribute 'vintage_year' not found #wine_index.rb ThinkingSphinx::Index.define :wine, with: :active_record, delta:false do indexes vintage_year end Thanks, Ahmed --------------------------------------------------------- Ahmed El-Daly Chief Guru DeveloperGurus Inc. on budget, on time T: 416-566-4945 | developergurus.com On 2013-01-17, at 6:50 PM, "Pat Allan" <[email protected]> wrote: > When you're referring to an internal Sphinx attribute, you use the @ - but > any of your own, you don't. So, try the following: > > :order => "@weight DESC, vintage_year DESC" > > On 18/01/2013, at 2:20 AM, Ahmed El-Daly wrote: > >> Oh, and I'm searching by sql, because this doesn't seem to work: >> >> order: '@weight DESC, @vintage_year DESC', >> >> It gives me: Mysql2::Error: sphinxql: syntax error, unexpected USERVAR, >> expecting IDENT (or 4 other tokens) near '@vintage_year DESC LIMIT 0, 10; >> SHOW META' >> >> in my wine_index.rb, I have: >> indexes vintage_year >> >> Is the syntax correct for what I want to do? >> >> Thanks again. >> >> --------------------------------------------------------- >> Ahmed El-Daly Chief Guru >> DeveloperGurus Inc. on budget, on time >> T: 416-566-4945 | developergurus.com >> >> On 2013-01-17, at 9:05 AM, "Pat Allan" <[email protected]> wrote: >> >>> That error doesn't seem to quite match the query - are you sorting by @rank >>> or custom_rank? Or does the error occur either way? Perhaps SphinxQL >>> doesn't understand @rank - but it should be fine with @weight, which is the >>> same thing. >>> >>> That said - you're also sorting with the SQL statement - why bother with >>> the Sphinx sort order at all? >>> >>> (And that SQL ordering should be done like so in v3: :sql => {:order => >>> 'vintage_year DESC'} ) >>> >>> Cheers >>> >>> -- >>> Pat >>> >>> On 17/01/2013, at 2:38 AM, Daly wrote: >>> >>>> Good morning, >>>> >>>> This used to work fine: >>>> options = {:retry_stale => true, :sort_mode => :extended, :order => '@rank >>>> DESC', :per_page => 1000000, :sql_order => 'vintage_year DESC'} >>>> options.merge!(:per_page => 10, :page => page) if use_pagination >>>> results = Wine.search(string, options) >>>> >>>> After the upgrade, it complains with: >>>> Mysql2::Error: sphinxql: syntax error, unexpected USERVAR, expecting IDENT >>>> (or 5 other tokens) near '@rank DESC LIMIT 0, 10; SHOW META' >>>> >>>> I tried this: >>>> options = { >>>> :retry_stale => true, >>>> :sort_mode => :extended, >>>> :select => '*, @rank as custom_rank', >>>> :order => :custom_rank, >>>> :per_page => 1000000, >>>> :sql_order => 'vintage_year DESC' >>>> } >>>> >>>> and that produces: >>>> Mysql2::Error: index wine_core: parse error: Sphinx expr: syntax error, >>>> unexpected TOK_USERVAR near '@rank' >>>> >>>> What's the proper way of specifying this in the new version? >>>> >>>> Thanks. >>>> >>>> -- >>>> 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/-/8rDDG7z8mP0J. >>>> 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. >>> >>> >>> >>> -- >>> 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. >>> >> >> >> -- >> 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. > > > -- > 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. > -- 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.
