Мышление Сфинкс, сложная сортировка - как я могу объединить расширенную сортировку с сортировкой expr? - PullRequest
0 голосов
/ 06 мая 2010

Я хочу отсортировать по выражению, затем по некоторому атрибуту по возрастанию, а затем по другому атрибуту по возрастанию. Как то так: :order => "(a < some constant) desc, b asc, c asc". Как это получить?

Расширенная сортировка отказывается работать из-за <. Expr не работает из-за запятых.

Мне удалось произвести сортировку, эквивалентную :order => "(a < some constant) desc, b desc" с :order => "(a < some constant)", :sort_mode => :expr, :sort_by => :b, но я не могу добавить другой атрибут (c) к этой сортировке или изменить режим сортировки для b на asc.

1 Ответ

0 голосов
/ 24 сентября 2010

Функция SetSelect позволяет создавать произвольные сортировки. Я не уверен, что он доступен для мыслящих сфинксов, поэтому может потребоваться модификация этого драгоценного камня.

...