Суть вопроса простая. Есть большая таблица в mysql на 10 млн. записей. Таблица постоянно растет.
На главной странице нужно выводить последние посты с пэйджлинками от 0 до 10000.
Делать через mysql через лимиты (limit 0,50) - долго и глупо. Поэтому думаю sphinx в этом должен помочь.
Индекс (address) создаю на базе простой таблицы из 2-х полей: id и address
Таблица заполнена ключевыми словами из адресов.
Пример адреса: 702 St Bentonville, United States
В общем, индекс мне нужен и для пэйджлинков и для поиска по полю address.
Код:
include('sphinxapi.php');
$cl = new SphinxClient();
$cl->SetServer( "localhost", 9312 );
$cl->SetMatchMode(SPH_MATCH_ANY);
$cl->SetSortMode(SPH_SORT_EXTENDED, '@id desc');
$cl->SetLimits(0, 50);
// ?
Поиск по полю сделать это понятно - $cl->Query("New York", "address");
А вот просто вывод последних страниц с пэйджлинками, отсортированных просто по полю id (desc)?
Прошу совета.
--
UPD:
Пока сделал так:
include('sphinxapi.php');
$cl = new SphinxClient();
$cl->SetServer( "localhost", 9312 );
$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
$cl->SetSortMode(SPH_SORT_EXTENDED, '@id desc');
$cl->SetLimits(0, 50);
$cl->Query("", "address"); // пустое поле, т.к. просто постраничный вывод