Sommaire[Masquer]

Bien que l'index de la Recherche avancée soit automatiquement tenu à jour chaque fois que des éléments de contenu sont modifiés, il y a des circonstances où vous devez ré-exécuter l'indexation. Vous pouvez le faire manuellement en utilisant le bouton "Indexer" de la barre d'outils de l'écran Recherche avancée : Contenus indexés. Cependant si vous avez besoin de ré-indexer le contenu automatiquement, il est aussi possible d'exécuter l'indexation comme une application en ligne de commande. Cela le rend particulièrement pratique pour exécuter l'indexation à partir d'une tâche cron.

L'application CLI (interface de ligne de commande) de la Recherche avancée est située dans le dossier /cli du dossier racine de votre site (c'est à dire du même dossier que votre fichier configuration.php). Dans ce dossier, vous trouverez un fichier nommé finder_indexer.php. Il suffit d'entrer la commande suivante pour exécuter l'indexation :

php finder_indexer.php

L'affichage de sortie typique de l'indexation en ligne de commande ressemble à ceci :

Smart Search INDEXER
============================

Starting Indexer
Setting up Finder plugins
Setup 154 items in 0.094 seconds.
    * Processed batch 1 in 0.213 seconds.
    * Processed batch 2 in 0.182 seconds.
    * Processed batch 3 in 0.177 seconds.
    * Processed batch 4 in 0.009 seconds.
Total Processing Time: 0.676 seconds.

Mise en place d'une tâche cron

Alors que les détails sont au-delà de la portée de cet article, en général, vous n'aurez qu'à entrer la commande ci-dessus dans le gestionnaire de tâche cron et spécifier le ou les moments où la tâche doit être effectuée. Vous devrez probablement inclure le chemin complet du programme d'indexation. Par exemple, comme ceci :

php /var/www/myjoomla/cli/finder_indexer.php

Problèmes de mémoire

Si votre site a des exigences d'indexation particulièrement complexes, il est possible que l'allocation standard de mémoire ne soit pas suffisante pour l'exécution de l'indexation jusqu'à la fin. Vous pouvez augmenter la mémoire allouée à l'indexation en ligne de commande en ajoutant un paramètre supplémentaire sur la ligne de commande, comme ceci :

php -d memory_limit=256M finder_indexer.php

Remplacez la valeur 256M par celle appropriée à votre situation.

L'indexation en ligne de commande utilise les mêmes paramètres que l'indexation de l'écran Recherche avancée : Contenus indexés. Vous pouvez modifier les paramètres en utilisant le bouton "Paramètres" de la barre d'outils qui vous conduit à l'écran Recherche avancée : Paramètres. A noter que les champs Taille des lots d'indexation et Mémoire limite de table influent sur la quantité de mémoire utilisée par l'indexation.