Symfony : une tâche pour recréer un index Lucene
Posted on Monday 01 November 2010, 20:25 - développement Web - Permalink Tweet
- Article
- |
- Comments(0)
- |
- Attachments(1)
Cela fait maintenant quelques mois que je travaille avec le framework PHP symfony, et j'en profite pour partager un peu.
Si comme moi (et comme dans le tutoriel Jobeet) vous utilisez les index
Lucene, issus du Framework PHP Zend, vous avez certainement eu besoin de
ré-indexer des données suite à un import de données ou à une erreur
quelconque(!).
Voici donc le code d'une tâche symfony, qui reconstruit intégralement
l'index Lucene d'une table à partir des données existantes.
Dans cet exemple, je ré-indexe les champs d'une table user. Pour limiter l'utilisation de mémoire, je traite les données par paquets de 500 lignes.
-------------
| user |
-------------
| id (pk) |
| firstname |
| lastname |
| username |
| email |
-------------
Le fichier userReindexTask.class.php se trouve dans le dossier /lib/Task
Pour l'exécuter dans l'environnement de prod, par exemple: ./symfony user:reindex --env=prod