Есть два подхода ... во-первых, Thinking Sphinx хранит CRC-версию имени класса в качестве атрибута, поэтому вы можете попросить Sphinx отсортировать по этому номеру:
ThinkingSphinx.search params[:search],
:page => params[:page],
:per_page => 25,
:order => 'class_crc ASC, @relevance DESC'
Однако это не приводит к определенному порядку (вы упомянули, что сначала вы хотите получить графические результаты) - поэтому вы можете рассмотреть другой подход - добавить ручной атрибут к каждому определению индекса с целым числом, определяющим порядок: *
has '1', :as => :model_order, :type => :integer
Измените значения 1 на 2, 3 и т. Д. Для каждого определения индекса в зависимости от того, где вы хотите получить его в результатах поиска. И тогда поиск выглядит так:
ThinkingSphinx.search params[:search],
:page => params[:page],
:per_page => 25,
:order => 'model_order ASC, @relevance DESC'
Надеюсь, один из этих двух вариантов подойдет вам.