2010-09-29 5 views
4

J'essaie de comprendre comment je devrais réindexer Sphinx. J'utilise v 0.9.9, donc je n'ai pas la possibilité de faire des mises à jour en temps réel de l'index.Comment réindexer Sphinx avec MySQL

Je pense avoir lu quelque part que cela peut être fait en utilisant un travail cron, et que l'index n'a pas besoin d'être entièrement reconstruit (donc pas d'arrêt du démon). Cela dit, je n'ai jamais écrit ni exécuté aucun travail cron, donc aucune idée par où commencer même.

Des pensées?

Répondre

7

Je pense que ce que vous recherchez est un index principal + delta. L'index principal que vous construisez dit une fois par jour puis toutes les 5 minutes (ou quelle que soit la période dont vous avez besoin) vous le mettrez à jour avec les changements depuis la dernière fois qu'il a été construit. Il y a quelque chose dans les docs qui explique cela et il y a aussi des messages sur Google à ce sujet.

http://sphinxsearch.com/docs/current.html#delta-updates

En ce qui concerne la tâche cron pour reconstruire votre delta toutes les 5 minutes que vous voudriez quelque chose comme:

*/5 * * * * /opt/sphinx/bin/indexer -c /opt/sphinx/etc/sphinx.conf --rotate delta_idx