[Résolu] Indexation incomplète

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai un problème sur mon site Drupal (7.21) avec le module search.

L'indexation se bloque à 64%, comme si un noeud posait problème.

J'ai le même problème en préproduction et en production, les noeuds ayant été importés de la production sur la préproduction.

Comment puis-je faire pour déterminer le noeud qui bloque l'indexation ?

Merci

P. Young

Version de Drupal : 
Tags : 

Bonjour pyoung,
normalement si tu l'a activer dans les configurations (la journalisation des events) tu devrait pouvoir voir quel est le probléme a cette url admin/reports/dblog . Apres si tu ne trouve toujours pas avec les log drupal il faudrait plutot ce pencher vers les logs apache pour y voir plus clair.

La seule erreur que je vois est que le cron ne s'est pas effectué jusqu'au bout...
Le module cron-debug me permet de vérifier que c'est bien le cron du search qui pose problème.
Mais cela ne permet pas de savoir quelle noeud pose problème.
La lecture des tables commençant par search n'est pas très explicite non plus.

Je suis toujours dans la panade :(

J'ai trouvé... :)

En fait, bêta que je suis, je n'avais pas vu que le contenu des tables search_XXX est ignoré dans le backup par défaut du module "backup and restore" (je n'ai pas un accès direct à la base).
J'ai donc enfin exporté le contenu de ces tables pour les injecter dans un mysql local et j'ai enfin trouvé l'info que je cherchais.

La liste des nœuds indexés est dans la table `search_dataset` et l'indexation se fait bien de façon incrémentale sur le nid, j'i

J'ai donc trouvé le node qui posait problème, il contenait du code PHP invalide... (un essai de script dans un node non publié), donc forcément l'indexation se faisant sur le résultat du PHP, ça bloquait.

J'ai supprimé ce node et maintenant je suis à 100% pour l'indexation.

Il me reste à trouver comment ne pas indexer les nodes non publiés, mais ce sera l'objet d'un autre fil de discussion.

P. Young