Сортировать мышления сфинкса по атрибуту AND @random? - PullRequest
0 голосов
/ 09 декабря 2010

Так что я бы хотел иметь возможность сортировать сначала по атрибуту, а затем среди тех, кто имеет такое же значение атрибута, сортировать случайным образом.

Как в:

{ :sort_mode => :extended, :order => "attribute DESC, @random ASC" }

В моем случае атрибут является логическим, поэтому я просто хочу, чтобы те, которые true, отображались раньше, чем те, которые false, но для порядка внутри каждого из сегментов true и false быть случайным.

По какой-то причине это не возвращает никаких результатов. Если я изменю вышеприведенное и изменим @random на @relevance, это сработает:

{ :sort_mode => :extended, :order => "attribute DESC, @relevance ASC" }

Что-то не так с использованием @random для сортировки вместе с другими атрибутами? Если да, то есть ли другое решение моей проблемы?

Спасибо !!

1 Ответ

0 голосов
/ 09 декабря 2010

Когда вы используете @random (ваш первый пример), вы можете посмотреть необработанные результаты поиска - может быть ошибка или предупреждение, которое может объяснить больше:

search = ThinkingSphinx.search(
  :sort_mode => :extended,
  :order     => 'attribute DESC, @random ASC'
)
search.results
search.results[:error]
...