zyaleniyeg
@zyaleniyeg

Sphinx: как корректно сделать Меrge дельта индекса?

Итак имеем Sphinx
основной main и delta индексы

основной индекс имеет
sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(ID) FROM samples
чем сохраняет позицию до которой в нем есть данные

delta соответственно имеет
WHERE ID > ( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )

в своей выборке
итого план слеующий
1) Периодически делаем indexer --rotate delta
2) а ночью indexer --merge main delta --rotate

и вроде все отлично, но при этом при мерже не сдвигается значение в sph_counter
и соответственно дельта индекс только растет

как в данном случае лучше обновлять значение в sph_counter? запоминать max(ID) делать, rotate для дельты, мержить индексы и обновлять значение ручками или это как то можно поручить сфинксу и я просто что-то упустил?
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Ну сдвиньте сами SQL запросом. Не уверен что при мердже можно пре и пост запросы делать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы