Мышление сфинксов, сортировка по нескольким полям - PullRequest
2 голосов
/ 06 мая 2011

Я ищу модельные проекты. Проекты принадлежат компаниям, поэтому все проекты в списке могут иметь одну и ту же компанию. Пример списка результатов:

CompanyA - ProjectA
CompanyA - ProjectO
CompanyA - ProjectC
CompanyA - ProjectB
CompanyB - ProjectU
CompanyB - ProjectI

Я могу отсортировать по названию проекта, но тогда столбец с названием компании может быть случайным, как указано выше. Я хотел бы отсортировать этот столбец как вторичное поле. Можно ли это сделать? Я читал, что Sphinx преобразует сортировку полей в id, возможно, для экономии памяти, но это не может ограничить сортировку таким образом?

1 Ответ

6 голосов
/ 18 мая 2011

Для этого можно использовать режим SPH_SORT_EXTENDED:

$sph->SetSortMode(SPH_SORT_EXTENDED, "Project ASC, Company ASC");

( документы в режиме сортировки )

Редактировать: приведенный выше пример - PHP, но похоже, что Thinking Sphinx предоставляет такую ​​же возможность:

Article.search "term", :sort_mode => :extended,
  :order => "Project ASC, Company ASC"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...