Salut tout le monde,
pour ce qui concerne le moteur de recherche interne et l’indexation des articles (rubriques, etc.), les méthodes normalement suggérées ( http://www.uzine.net/spip_contrib/article.php3?id_article=109&var_recherche=indexation ), ne marchent pas (du moins sur mes installations de SPIP) sans une manipulation préalable… La visite d’un article qui n’est plus indexé ne suffit pas à lancer la procédure d’indexation, mais éventuellement la seule création du cache. Le seul moyen sûr de forcer la ré-indexation du contenu de la base, est sons doute celui d’utiliser les fonctions dérivées de indexer_objet (dans ecrire/inc_index.php3). Il suffit par exemple de créer un petit fichier PHP avec une boucle WHILE, ou d’introduire provisoirement la fonction indexer_article($id_article, true, true) dans article.php3 (comme dernière instruction…) et ensuite visiter tous les articles (utilisant une technique quelconque, par exemple avec un aspirateur de sites). Ça marche sans aucun problème.
On pourrait peut-être insérer une simple fonction dans l’interface de maintenance du site… ?
pour ce qui concerne le moteur de recherche interne et l'indexation des
articles (rubriques, etc.), les méthodes normalement suggérées
(http://www.uzine.net/spip_contrib/article.php3?id_article=109&var_rec
herche=indexation), ne marchent pas (du moins sur mes installations
de SPIP)
Pourquoi dis-tu cela ? As-tu regardé le déroulement du fichier
ecrire/data/spip.log ?
Tu peux aussi essayer la version CVS : le réindexation rapide y fonctionne
un peu mieux si tu utilises un aspirateur de site un peu violent... et les
logs sont plus détaillés.
Le site qui nécessitait une réindexation, contient plus de 800 articles et la valeur de la
variable $delais y est assez petite. C'est peut-être pour ça que la simple visite des
articles non indexés (à cause d'un effacement de tous les index...) ne produit pas une
réindexation pour la plupart des articles (seulement 1 sur 100 environs). L'indexation se
produit de manière certaine que pendant la sauvegarde d'un nouveau article ou forçant
l'utilisation de la fonction indexer_objet...
J'insiste: pourquoi permettre d'effacer les index sans permettre aussi d'activer une
procédure (encore que longue) pour les régénérer tous?
PS: Les fichiers de log confirmaient...
PPS: La question de la gestion modulaire des langues n'intéresse vraiment personne?
[voir email du 30/05]
J'insiste: pourquoi permettre d'effacer les index sans permettre aussi
d'activer une procédure (encore que longue) pour les régénérer tous?
La procédure normale est de laisser le site se réindexer tout seul ; pour le
réindexer vite tu peux lancer la commande unix 'ab', chez moi c'est comme ça: