One more quick question. The first index_weights approach worked reasonably well but now I'm attempting to use your second suggestion and am getting the following:
index country_core: sort-by attribute 'class_sort' not found I modified my model to look like this and deleted my old indexes and ran "rake ts:index" again to make sure i had a clean start: define_index do indexes [:name, iso_alpha_2], :as => :country indexes capital has '4', :as => :class_sort, :type => :integer end My search query is like: @search_results = ThinkingSphinx.search query, :page => params[:page], :per_page => 30, :order => :class_sort I also tried the other variation of ordering on class_sort as well and had the same error. Am I doing something wrong there? On Aug 11, 7:52 am, Pat Allan <[email protected]> wrote: > No worries :) > > -- > Pat > > On 11/08/2011, at 9:59 PM, mikeee wrote: > > > > > > > > > Thanks Pat - this is perfect. > > > Thanks also for maintaining TS - it's fantastic. > > > Mike > > > On Aug 11, 2:17 am, Pat Allan <[email protected]> wrote: > >> Hi Mike > > >> There's a couple of options - firstly, you can weight certain indices to > >> have higher priorities in your search call: > > >> :index_weights => {Continent => 4, Country => 3, StateProvince => 2, > >> Place => 1} > > >> That won't ensure your order, though - if a country is a far better match > >> than a low continent, then it'll probably end up above it. Could play with > >> those numbers (any indices/classes not mentioned get a weight of 1), they > >> don't need to be sequential, could be anything. > > >> A more reliable option, if the ordering is critical, is give each model a > >> manual attribute like so - changing the number each time to ensure your > >> sort order: > > >> has '1', :as => :class_sort, :type => :integer > > >> And then use :order => :class_sort - or, better: "class_sort ASC, > >> @relevance DESC" > > >> Cheers > > >> -- > >> Pat > > >> On 11/08/2011, at 1:14 PM, mikeee wrote: > > >>> Hi - > > >>> I have a few models I'm indexing: Continent, Country, StateProvince > >>> and Place > > >>> I'd like if possible to have the ranking/weight of these to be in the > >>> order I've listed above in the search results. Is there any way to > >>> do this? > > >>> I've tried using the :classes attribute but that doesn't seem to > >>> affect the ranking. > > >>> Thanks for any advice. > > >>> Mike > > >>> -- > >>> 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 > > 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.
