Да, сфинкс не приносит результатов.
Но я нашел простой способ переупорядочить запрос, используя предложение IN (), чтобы собрать все вместе.
Что-то запрашивает
SELECT * FROM table WHERE id IN(id_list... )
просто индексирует результат с их идентификатором в таблице:
while ($row = mysql_fetch_objects)
$result[$row->id] = $row;
и результаты сопоставления со сфинксом очень легко изменить:
$ordered_result = array();
foreach ($sphinxs_results['matches'] as $id => $content)
$ordered_result[] = $result1[$id];
это будет работать, если ваши $ sphinxs_results находятся в правильном порядке.
это почти полный ответ, но с меньшим количеством петель. Полагаю, можно добиться значительных результатов в больших результатах.