Задать вопрос
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 для дельты, мержить индексы и обновлять значение ручками или это как то можно поручить сфинксу и я просто что-то упустил?
  • Вопрос задан
  • 248 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1С-программист
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • Hi-TECH Academy
    KL 004.2.4 Kaspersky SD-WAN
    2 дня
    Далее
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Ну сдвиньте сами SQL запросом. Не уверен что при мердже можно пре и пост запросы делать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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