Recherche phpBB ne fonctionne plus : réparer l’index et retrouver les anciens messages
La recherche de votre forum phpBB ne trouve plus certains messages ?
Vous savez qu’un mot existe dans un ancien sujet, vous le recherchez, mais phpBB répond qu’aucun résultat n’a été trouvé ?
Peut-être que :
[]les nouveaux messages apparaissent dans les résultats mais pas les anciens ;
[]la recherche ne trouve plus rien depuis une migration ;
[]la recherche fonctionnait avant une mise à jour puis s’est arrêtée ;
[]phpBB indique que certains mots sont « trop communs » ;
[]un mot de deux ou trois caractères est systématiquement ignoré ;
[]la recherche fonctionne pour certains termes mais pas pour d’autres ;
[]la recherche affiche « Vous ne pouvez pas utiliser la recherche actuellement » ;
[]la recherche fonctionne pour l’administrateur mais pas pour certains membres ;
[]la reconstruction de l’index semble ne rien changer ;
[]le problème est apparu après un changement de MySQL vers MariaDB ;le problème est apparu après une conversion depuis un autre logiciel de forum.
Ces symptômes sont très différents mais concernent tous le même ensemble de mécanismes :
le système de recherche et son index.
Une erreur fréquente consiste à considérer la recherche comme une simple requête effectuée directement dans tous les messages.
Ce n’est généralement pas ainsi que phpBB fonctionne.
Pour pouvoir retrouver rapidement un mot parmi des dizaines de milliers, voire des millions de messages, phpBB utilise un moteur de recherche et un index.
On peut représenter le principe ainsi :
Code : Tout sélectionner
Messages du forum
↓
Moteur de recherche
↓
Index
↓
Recherche de l’utilisateur
↓
Résultats
Si l’index est absent, incomplet, obsolète ou construit pour un autre moteur que celui actuellement utilisé, les messages peuvent parfaitement exister dans le forum tout en restant introuvables dans la recherche.
L’objectif de ce guide est de diagnostiquer méthodiquement ce type de problème sans modifier la base de données au hasard.
1. Commencez par déterminer exactement ce qui ne fonctionne pas
Avant de reconstruire quoi que ce soit, effectuez plusieurs recherches simples.
Choisissez :
[]un mot présent dans un message très récent ;
[]un mot présent dans un ancien message ;
[]un mot relativement rare ;
[]un mot relativement fréquent ;si possible, le titre exact d’un sujet connu.
Notez les résultats.
Par exemple :
Code : Tout sélectionner
Message publié aujourd’hui : trouvé
Message publié en 2024 : trouvé
Message publié en 2018 : introuvable
Message publié en 2012 : introuvable
Ce comportement est extrêmement intéressant.
Il suggère que la recherche fonctionne encore, mais que l’index pourrait ne contenir qu’une partie des anciens messages.
Autre exemple :
Code : Tout sélectionner
Tous les nouveaux messages : introuvables
Anciens messages : trouvés
Dans ce cas, vérifiez notamment si la mise à jour de l’index lors de nouvelles publications est toujours active.
Autre scénario :
Code : Tout sélectionner
Aucun mot : aucun résultat
Ici, il faut vérifier plus largement :
[]si la recherche est activée ;
[]quel moteur est sélectionné ;
[]si son index existe ;
[]si l’index a réellement été construit.
2. Vérifiez que la recherche phpBB est réellement activée
Dans le PCA, ouvrez les paramètres de recherche.
Selon votre traduction, vous trouverez généralement cette page dans une rubrique du type :
PCA → Général → Configuration du serveur → Paramètres de recherche
Vérifiez notamment que les fonctionnalités de recherche sont activées.
Si la recherche est désactivée globalement, reconstruire l’index ne résoudra évidemment pas le problème.
Commencez toujours par vérifier la configuration la plus simple avant de reconstruire plusieurs millions de messages.
3. Comprendre ce qu’est un moteur de recherche phpBB
phpBB peut utiliser différents systèmes de recherche.
Selon votre installation et votre base de données, vous pouvez notamment rencontrer :
Code : Tout sélectionner
Fulltext native
Fulltext MySQL
ainsi que d’autres moteurs dans certaines configurations ou via des solutions spécifiques.
Le moteur sélectionné détermine notamment :
[]comment les mots sont indexés ;
[]où l’index est stocké ;
[]quelles limitations s’appliquent ;
[]comment les recherches sont exécutées.
C’est donc une information fondamentale lorsqu’une recherche ne fonctionne plus.
4. Vérifiez quel moteur est actuellement sélectionné
Dans :
PCA → Général → Configuration du serveur → Paramètres de recherche
repérez le moteur de recherche utilisé.
Notez-le.
Par exemple :
Code : Tout sélectionner
Moteur de recherche :
Fulltext native
ou :
Code : Tout sélectionner
Moteur de recherche :
Fulltext MySQL
Ne changez pas immédiatement cette valeur.
Commencez par savoir précisément ce que votre forum utilise actuellement.
5. L’index doit correspondre au moteur utilisé
C’est l’un des points les plus importants.
Imaginez :
Code : Tout sélectionner
Index construit :
Fulltext native
Moteur actuellement sélectionné :
Fulltext MySQL
Vous pouvez avoir construit un index parfaitement valide sans que phpBB utilise celui que vous pensez.
Lorsque vous diagnostiquez la recherche, vérifiez donc toujours :
Code : Tout sélectionner
Moteur actif
Index réellement créé
Si vous changez de moteur, assurez-vous que le nouvel index correspondant existe avant de considérer la migration terminée.
6. Où gérer l’index de recherche ?
Dans le PCA, ouvrez :
Maintenance → Index de recherche
Le libellé peut varier légèrement selon votre langue.
Cette page permet généralement de voir les moteurs disponibles et l’état de leur index.
Vous pouvez notamment y trouver les possibilités de :
[]créer un index ;
[]supprimer un index ;observer sa progression.
Sur un forum important, la construction peut durer longtemps.
Ne fermez pas immédiatement la page simplement parce que l’opération n’est pas instantanée.
7. Cas classique : les messages existent mais n’ont jamais été indexés
Ce problème apparaît fréquemment après :
[]une conversion depuis un autre logiciel ;
[]une importation personnalisée ;
[]une restauration ;
[]une migration mal terminée ;une modification directe de la base de données.
Imaginez qu’un script importe :
Code : Tout sélectionner
250 000 messages
directement dans la table des messages.
Ils apparaissent parfaitement dans les sujets.
Les utilisateurs peuvent les lire.
Mais si le processus d’import n’a pas correctement alimenté ou reconstruit l’index de recherche, phpBB peut ne pas savoir les retrouver.
Vous obtenez alors :
Code : Tout sélectionner
Lecture du message : OK
Recherche du message : aucun résultat
La donnée existe.
C’est l’index qui ne la connaît pas.
8. Symptôme très révélateur : seuls les nouveaux messages sont trouvés
Après une migration, vous pouvez rencontrer :
Code : Tout sélectionner
Ancien message importé : introuvable
Nouveau message publié après migration : trouvé
C’est un excellent indice.
Le système de recherche fonctionne probablement pour les nouvelles publications.
Mais l’ancien contenu n’a pas été complètement indexé.
Dans ce cas, reconstruire correctement l’index est beaucoup plus logique que modifier les permissions ou le code de recherche.
9. Reconstruire l’index correctement
Dans :
PCA → Maintenance → Index de recherche
identifiez le moteur que vous utilisez réellement.
Si l’index est manifestement incomplet ou incohérent, une procédure classique consiste à :
[]vérifier le moteur actuellement sélectionné ;
[]supprimer l’index de ce moteur lorsque cette opération est nécessaire ;
[]recréer complètement l’index ;
[]attendre la fin réelle de l’opération ;effectuer plusieurs recherches de contrôle.
Ne supprimez pas un index au hasard simplement parce que la recherche d’un seul mot n’a rien donné.
Effectuez d’abord les diagnostics de ce guide.
10. Une reconstruction peut prendre longtemps
Sur un petit forum :
Code : Tout sélectionner
5 000 messages
l’opération peut être relativement rapide.
Sur un forum contenant :
Code : Tout sélectionner
500 000 messages
ou :
Code : Tout sélectionner
5 000 000 messages
la situation est complètement différente.
La durée dépend notamment :
[]du nombre de messages ;
[]du moteur de recherche ;
[]de MariaDB/MySQL ;
[]du processeur ;
[]des performances du stockage ;
[]des limites de l’hébergement ;de la charge simultanée du forum.
Ne relancez pas constamment la reconstruction parce qu’elle ne se termine pas immédiatement.
11. Ne lancez pas plusieurs reconstructions simultanément
Si une reconstruction est déjà en cours, évitez d’en démarrer une deuxième dans un autre onglet.
Vous pourriez inutilement :
[]augmenter la charge serveur ;
[]solliciter fortement la base ;rendre le diagnostic beaucoup plus difficile.
Une seule opération contrôlée vaut mieux que plusieurs tentatives lancées simultanément.
12. Sur un gros forum, choisissez le bon moment
Une reconstruction d’index peut être une opération lourde.
Sur une communauté très fréquentée, évitez si possible de lancer cette opération au moment de la plus forte activité.
Préférez une période plus calme.
Sur un très gros forum, surveillez :
[]CPU ;
[]mémoire ;
[]MariaDB/MySQL ;
[]I/O disque ;temps de réponse du forum.
Le but n’est pas de réparer la recherche en rendant tout le reste du forum inaccessible.
13. « Les mots sont trop communs »
Un autre problème très fréquent ressemble à ceci :
Code : Tout sélectionner
Les mots suivants ont été ignorés car ils sont trop communs
Vous recherchez pourtant un mot qui vous semble parfaitement pertinent.
Pourquoi phpBB l’ignore-t-il ?
Le moteur de recherche peut volontairement considérer certains termes comme trop fréquents.
Imaginez un forum consacré uniquement à Linux.
Le mot :
Code : Tout sélectionner
linux
peut apparaître dans une énorme proportion des messages.
Le moteur peut considérer qu’indexer ou rechercher ce mot apporte peu de discrimination entre les résultats.
14. Le seuil des mots communs
Avec le moteur Fulltext native, phpBB possède notamment un réglage concernant le seuil des mots communs.
Le principe est :
Code : Tout sélectionner
Mot présent dans une proportion très importante des messages
↓
Mot marqué comme commun
↓
Mot ignoré lors de certaines recherches
Ce seuil est configurable.
Une valeur de :
Code : Tout sélectionner
0
permet de désactiver cette logique de seuil dans la configuration correspondante.
Mais attention :
modifier le réglage ne transforme pas nécessairement instantanément un index déjà construit.
Si le contenu de l’index dépend de ce réglage, une reconstruction peut être nécessaire pour que les anciens messages soient traités selon la nouvelle configuration.
15. Ne mettez pas automatiquement le seuil à zéro
Le fait qu’un réglage puisse être désactivé ne signifie pas qu’il doit l’être sur tous les forums.
Sur un très gros forum, indexer et rechercher énormément de mots extrêmement communs peut :
[]augmenter la taille de l’index ;
[]augmenter le travail nécessaire ;produire énormément de résultats peu utiles.
Adaptez le réglage au contenu de votre communauté.
Un forum technique spécialisé peut avoir des besoins très différents d’un forum généraliste.
16. Les mots trop courts peuvent être ignorés
Autre scénario :
Vous recherchez :
Code : Tout sélectionner
IA
ou :
Code : Tout sélectionner
C#
ou un code produit très court.
phpBB répond qu’aucun mot valable n’a été fourni.
Le moteur peut avoir une longueur minimale de mot à indexer.
Dans les paramètres de recherche, vérifiez :
Nombre minimum de caractères indexés
ou le libellé équivalent.
Si cette valeur est :
Code : Tout sélectionner
3
un mot de deux caractères peut ne pas être indexé.
17. Les mots trop longs peuvent également être exclus
Il existe également une longueur maximale.
Un terme dépassant cette valeur peut ne pas faire partie de l’index.
C’est particulièrement important pour les communautés utilisant :
[]références de produits ;
[]identifiants techniques ;
[]noms scientifiques ;
[]chaînes longues ;numéros de modèle.
Vérifiez donc à la fois :
Code : Tout sélectionner
Longueur minimale
Longueur maximale
18. Modifier la longueur ne suffit pas toujours immédiatement
Supposons que votre ancien réglage soit :
Code : Tout sélectionner
Minimum : 3
et que vous décidiez désormais :
Code : Tout sélectionner
Minimum : 2
Les anciens messages ont été indexés lorsque la valeur était encore à 3.
Le mot de deux caractères n’existait donc pas nécessairement dans l’index.
Pour rendre cette nouvelle règle applicable à l’ancien contenu, une reconstruction de l’index peut être nécessaire.
19. Les réglages peuvent dépendre du moteur choisi
Ne supposez jamais qu’un réglage Fulltext native se comporte exactement de la même manière avec Fulltext MySQL.
Lorsque vous utilisez la recherche Fulltext MySQL, certaines limites peuvent également dépendre de la configuration du serveur de base de données.
Cela signifie qu’un administrateur peut modifier un réglage côté phpBB et constater que le comportement reste différent de ce qu’il attend.
Dans ce cas, vérifiez :
[]le moteur réellement utilisé ;
[]les paramètres de phpBB ;
[]les limitations du serveur MySQL/MariaDB ;
[]les stopwords ou règles propres au moteur lorsque pertinentes.
20. Le changement MySQL vers MariaDB mérite une attention particulière
Après une migration d’hébergement, votre fournisseur peut remplacer :
Code : Tout sélectionner
MySQL
par :
Code : Tout sélectionner
MariaDB
sans que l’apparence du forum change.
Vous pouvez pourtant observer ensuite un problème de recherche.
Ne concluez pas automatiquement que MariaDB est incompatible avec phpBB.
Vérifiez plutôt :
[]le moteur de recherche phpBB sélectionné ;
[]l’état de l’index ;
[]les réglages de recherche ;
[]les limites liées à la charge ;la configuration du nouveau serveur.
Un changement de serveur implique souvent plusieurs modifications simultanées.
21. « Désolé, vous ne pouvez pas utiliser la recherche actuellement »
Ce message n’indique pas nécessairement un index cassé.
phpBB possède également un réglage permettant de désactiver temporairement les recherches lorsque la charge système dépasse un certain niveau.
Selon votre traduction, recherchez :
Limite de charge système pour la page de recherche
ou un libellé similaire.
Sur les systèmes concernés, phpBB peut comparer la charge système à la limite configurée.
Si elle est dépassée, la recherche est temporairement refusée.
22. Une mauvaise limite de charge peut bloquer la recherche alors que le serveur va bien
Après un changement de serveur, une valeur autrefois adaptée peut devenir inappropriée.
Vous pouvez donc obtenir :
Code : Tout sélectionner
Forum rapide
CPU normal
Recherche refusée
simplement parce que la limite de charge configurée déclenche le blocage.
Dans phpBB, une valeur :
Code : Tout sélectionner
0
désactive cette limitation de charge pour la recherche.
Cela ne signifie pas que tout administrateur doit obligatoirement la mettre à zéro.
Mais si vous obtenez précisément un message indiquant que la recherche est indisponible à cause de la charge, vérifiez ce réglage avant de reconstruire tout votre index.
23. Ne reconstruisez pas l’index pour un problème de limite de charge
C’est une distinction importante.
Si :
Code : Tout sélectionner
Index : correct
Résultats : normalement corrects
Mais recherche parfois interdite pour charge élevée
reconstruire l’index ne traite pas nécessairement la cause.
Le problème peut simplement être la configuration de la limite système.
Toujours diagnostiquer le message exact avant d’agir.
24. Les nouveaux messages n’apparaissent plus dans la recherche
Imaginez :
Code : Tout sélectionner
Messages jusqu’au 1er septembre : trouvés
Messages après le 1er septembre : introuvables
Le problème peut concerner la mise à jour automatique de l’index.
Avec Fulltext native, vérifiez notamment le réglage permettant la mise à jour du Fulltext.
Il doit normalement permettre au moteur d’ajouter les nouveaux messages dans l’index au fur et à mesure des publications.
25. Pourquoi désactiver la mise à jour de l’index peut poser problème
Sur un forum très chargé, un administrateur peut être tenté de désactiver certaines fonctions pour gagner des performances.
Mais si la mise à jour du moteur de recherche est désactivée :
Code : Tout sélectionner
Nouveau message publié
↓
Message enregistré
↓
Index non mis à jour
↓
Recherche ne le trouve pas
Plus le temps passe, plus l’index devient éloigné du contenu réel du forum.
26. Vérifiez les permissions de recherche
Si :
Code : Tout sélectionner
Administrateur : trouve le sujet
Utilisateur : ne le trouve pas
l’index n’est probablement pas votre premier suspect.
phpBB respecte les permissions.
Un utilisateur ne doit pas recevoir dans la recherche des messages provenant d’un forum qu’il n’est pas autorisé à consulter.
Vérifiez notamment :
[]les permissions de lecture ;
[]les permissions de recherche du forum ;
[]les groupes concernés ;
[]les permissions définies directement sur l’utilisateur.
Pour approfondir ce point, consultez également :
Comprendre enfin les permissions phpBB : groupes, rôles, Oui, Non et Jamais
27. Comparez administrateur, membre et invité
Effectuez exactement la même recherche avec :
Code : Tout sélectionner
Compte administrateur
Compte membre normal
Visiteur déconnecté
Vous pouvez obtenir :
Code : Tout sélectionner
Administrateur : 25 résultats
Membre : 20 résultats
Invité : 12 résultats
Ce n’est pas forcément une erreur.
Certains forums peuvent être invisibles pour les invités ou réservés à certains groupes.
En revanche :
Code : Tout sélectionner
Administrateur : 25 résultats
Membre autorisé à tout lire : 0 résultat
mérite une investigation plus approfondie.
28. Recherche par auteur et recherche dans le contenu sont différentes
Ne mélangez pas deux diagnostics.
Vous pouvez avoir :
Code : Tout sélectionner
Recherche du pseudo : fonctionne
Recherche des mots contenus dans les messages : échoue
ou l’inverse.
La recherche d’un utilisateur et la recherche Fulltext dans le contenu ne dépendent pas exactement des mêmes mécanismes.
Lorsque vous demandez de l’aide, précisez donc :
Code : Tout sélectionner
Recherche par mot :
Recherche par auteur :
Recherche dans un forum :
Recherche globale :
29. Après une conversion depuis un autre forum
Les convertisseurs doivent transférer énormément de données :
[]utilisateurs ;
[]forums ;
[]sujets ;
[]messages ;
[]permissions ;
[]pièces jointes selon la source ;profils.
L’index de recherche peut être volontairement reconstruit ensuite plutôt que transféré.
C’est logique.
L’index n’est pas votre contenu original.
Il peut être régénéré à partir des messages.
Après une conversion, vérifiez donc systématiquement la recherche avant d’ouvrir définitivement le nouveau forum.
30. Après une restauration de base
Une restauration peut également créer des incohérences si la base restaurée et l’index attendu ne correspondent plus.
Imaginez :
Code : Tout sélectionner
Base restaurée :
sauvegarde de lundi
Index :
état différent
Selon le moteur utilisé, une reconstruction peut être nécessaire pour réaligner la recherche sur les messages réellement présents.
31. Ne modifiez pas directement les tables d’index
Avec Fulltext native, vous pouvez rencontrer des tables comme :
Code : Tout sélectionner
phpbb_search_wordlist
phpbb_search_wordmatch
Ne commencez pas à supprimer manuellement des lignes dans ces tables parce qu’un mot n’est pas trouvé.
phpBB possède les outils permettant de créer et supprimer son index proprement.
Une modification SQL manuelle peut créer un index incohérent beaucoup plus difficile à diagnostiquer.
32. L’index de recherche peut être reconstruit
C’est une différence importante entre :
Code : Tout sélectionner
Messages
et :
Code : Tout sélectionner
Index de recherche
Vos messages constituent des données essentielles.
L’index est une structure dérivée de ces messages.
Si un index est réellement corrompu ou incohérent, il peut être supprimé puis reconstruit avec les mécanismes prévus par phpBB.
Cela ne signifie pas que vous devez reconstruire l’index dès qu’un utilisateur ne trouve pas un mot.
Mais cela explique pourquoi une reconstruction correctement réalisée peut résoudre certains problèmes sans toucher aux messages eux-mêmes.
33. Faites tout de même une sauvegarde avant une grosse opération
Même si l’index peut être reconstruit, une sauvegarde de base reste recommandée avant une opération importante de maintenance.
Particulièrement si :
[]le forum est ancien ;
[]la base est volumineuse ;
[]vous venez d’effectuer une migration ;
[]d’autres anomalies existent déjà.
Une bonne administration consiste à conserver une possibilité de retour arrière.
34. Tester la recherche après reconstruction
Ne vous contentez pas de voir :
Code : Tout sélectionner
Index créé
dans le PCA.
Testez réellement.
Préparez plusieurs références avant la reconstruction.
Par exemple :
Code : Tout sélectionner
Mot rare dans message de 2012
Mot rare dans message de 2018
Mot rare dans message de 2024
Mot rare dans message récent
Auteur ancien
Auteur récent
Puis effectuez exactement les mêmes recherches après la reconstruction.
Vous pourrez alors mesurer le résultat.
35. Un seul mot de test ne suffit pas
Supposons que vous testiez uniquement :
Code : Tout sélectionner
forum
et que phpBB l’ignore comme mot commun.
Vous pourriez conclure à tort :
La reconstruction n’a rien réparé.
Utilisez plusieurs mots, dont au moins un terme rare dont vous connaissez précisément l’emplacement.
36. Choisissez un mot témoin réellement utile
Le meilleur test est souvent un mot :
[]assez long ;
[]non commun ;
[]présent dans un seul ou quelques messages ;
[]sans accent inhabituel si vous voulez d’abord simplifier le diagnostic.
Par exemple, si un ancien message contient un modèle très précis :
Code : Tout sélectionner
ZXQ7421
et que le moteur autorise cette longueur, ce terme peut constituer un excellent témoin.
37. Attention aux langues et alphabets
Les forums multilingues ou utilisant certains alphabets peuvent révéler des différences de comportement selon le moteur choisi.
Si la recherche fonctionne correctement en anglais mais pas dans une autre langue, précisez-le.
Testez :
Code : Tout sélectionner
Mot français :
Mot anglais :
Mot dans l’autre alphabet :
et indiquez :
[]le moteur utilisé ;
[]la base de données ;
[]l’encodage ;
[]la version phpBB ;la version PHP.
Ne concluez pas automatiquement que « phpBB ne supporte pas la langue ».
Le problème peut être lié au moteur, à sa configuration ou à l’index.
38. Les caractères spéciaux peuvent influencer la recherche
Les termes techniques sont parfois compliqués à rechercher :
Code : Tout sélectionner
C++
C#
.NET
AI-2
T-20
Le moteur doit découper le texte en mots.
Certains caractères peuvent être interprétés comme :
[]séparateurs ;
[]opérateurs ;ponctuation.
Si un terme technique pose problème alors que les mots ordinaires fonctionnent correctement, le problème ne vient probablement pas de l’ensemble de l’index.
39. Recherche lente et recherche cassée sont deux problèmes différents
Une recherche peut :
Code : Tout sélectionner
fonctionner mais prendre 15 secondes
ou :
Code : Tout sélectionner
répondre immédiatement avec zéro résultat
Ce ne sont pas les mêmes symptômes.
Une recherche lente peut nécessiter d’examiner :
[]la taille du forum ;
[]le moteur utilisé ;
[]la base ;
[]la charge serveur ;les ressources disponibles.
Une recherche instantanée mais incomplète oriente davantage vers :
[]l’index ;
[]les réglages ;
[]les permissions ;
[]les mots ignorés.
40. Ne changez pas de moteur uniquement parce qu’une recherche échoue
Mauvaise méthode :
Code : Tout sélectionner
Recherche ne trouve pas un mot
↓
Passage Fulltext native → MySQL
↓
Toujours mauvais
↓
Passage MySQL → autre moteur
↓
Reconstruction
↓
Modification de cinq réglages
Vous ne savez plus ce qui a changé.
Bonne méthode :
Code : Tout sélectionner
Identifier le symptôme
↓
Noter le moteur actuel
↓
Vérifier l’index
↓
Vérifier les paramètres
↓
Tester
↓
Corriger un élément à la fois
41. Diagnostic : anciens messages introuvables après migration
Exemple :
Code : Tout sélectionner
Forum avant migration :
800 000 messages
Après migration :
800 000 messages visibles
Recherche :
messages récents trouvés
anciens messages introuvables
Priorité :
[]vérifier le moteur actif ;
[]ouvrir l’index de recherche ;
[]vérifier qu’un index complet existe ;
[]reconstruire proprement si nécessaire ;tester plusieurs anciens messages.
Ne réimportez pas immédiatement toute la base.
Les messages sont déjà là.
42. Diagnostic : tous les mots sont déclarés trop communs
Exemple :
Code : Tout sélectionner
Recherche : portugal
Résultat :
mot ignoré car trop commun
Vérifiez :
[]le moteur utilisé ;
[]le seuil des mots communs ;
[]la longueur minimale et maximale ;
[]si le réglage a été modifié depuis la dernière construction de l’index.
Si vous changez les règles déterminant quels mots sont indexés, reconstruisez ensuite l’index lorsque cela est nécessaire.
43. Diagnostic : recherche bloquée pour charge serveur
Exemple :
Code : Tout sélectionner
Forum : rapide
Publication : rapide
PCA : rapide
Recherche :
indisponible pour charge système
Avant de reconstruire l’index, vérifiez :
Limite de charge système pour la recherche
Si la valeur configurée est inadaptée à votre nouvel environnement, elle peut être la cause directe.
Une valeur :
Code : Tout sélectionner
0
désactive cette limitation dans phpBB.
44. Diagnostic : seuls les nouveaux messages sont absents
Exemple :
Code : Tout sélectionner
Ancien index : fonctionne
Nouveaux messages : jamais trouvés
Vérifiez notamment :
[]la mise à jour Fulltext ;
[]le moteur actif ;
[]les erreurs lors de la publication ;
[]les extensions intervenant dans la recherche ou la publication.
Une reconstruction complète peut remettre l’index à jour ponctuellement, mais si la mise à jour automatique reste désactivée, le problème reviendra immédiatement avec les prochains messages.
45. Diagnostic : un membre ne trouve pas un sujet que l’administrateur trouve
Avant de reconstruire quoi que ce soit :
[]ouvrez le sujet avec le compte du membre ;
[]vérifiez s’il peut réellement lire le forum ;
[]vérifiez ses permissions de recherche ;
[]comparez ses groupes.
Si le membre ne peut pas accéder au contenu directement, il est normal que la recherche ne lui révèle pas son existence.
46. Informations à fournir lorsque vous demandez de l’aide
Indiquez :
Code : Tout sélectionner
Version phpBB :
Version PHP :
MariaDB / MySQL / autre :
Version de la base :
Type d’hébergement :
Puis :
Code : Tout sélectionner
Moteur de recherche actif :
Index présent : oui/non
Dernière reconstruction connue :
Nombre approximatif de messages :
Décrivez précisément le symptôme :
Code : Tout sélectionner
Recherche globale : fonctionne/ne fonctionne pas
Anciens messages : trouvés/introuvables
Nouveaux messages : trouvés/introuvables
Recherche par auteur : fonctionne/ne fonctionne pas
Message « mot trop commun » : oui/non
Message de charge serveur : oui/non
Ajoutez également :
Code : Tout sélectionner
Le problème est apparu après :
mise à jour / migration / conversion / changement d’hébergeur / changement MySQL-MariaDB / autre
Donnez enfin un exemple réel :
Code : Tout sélectionner
Mot recherché :
Sujet dans lequel il existe :
Date approximative du message :
Le message est visible directement : oui/non
Avec ces informations, le diagnostic devient beaucoup plus rapide.
47. Ce qu’il ne faut pas faire
Évitez notamment :
[]supprimer manuellement les tables de recherche ;
[]modifierCode : Tout sélectionner
phpbb_search_wordlistdirectement ;
[]modifierCode : Tout sélectionner
phpbb_search_wordmatchdirectement ;
[]changer de moteur cinq fois en une heure ;
[]reconstruire plusieurs index simultanément ;
[]réimporter toute la base simplement parce qu’un ancien mot est introuvable ;
[]modifier les permissions alors que tous les utilisateurs rencontrent le même problème ;
[]augmenter toutes les limites sans comprendre leur effet ;conclure qu’un index est cassé uniquement parce qu’un mot très commun est ignoré.
48. Checklist de diagnostic
[]La recherche est activée dans phpBB.
[]J’ai identifié le moteur réellement utilisé.
[]Je sais quel index correspond à ce moteur.
[]J’ai testé un message récent.
[]J’ai testé un ancien message.
[]J’ai testé un mot rare.
[]J’ai testé un mot fréquent.
[]J’ai vérifié la longueur minimale des mots.
[]J’ai vérifié la longueur maximale des mots.
[]J’ai vérifié le seuil des mots communs.
[]J’ai vérifié la mise à jour Fulltext.
[]J’ai vérifié la limite de charge de la recherche.
[]J’ai comparé administrateur et utilisateur normal.
[]J’ai vérifié les permissions du forum concerné.
[]J’ai noté si le problème est apparu après une migration.
[]J’ai noté si le problème est apparu après un changement MySQL/MariaDB.
[]Je n’ai modifié aucune table d’index manuellement.
[]Je n’ai pas lancé plusieurs reconstructions en même temps.
[]J’ai sauvegardé la base avant une opération importante.
[]J’ai testé plusieurs termes après reconstruction.
À retenir
Quand la recherche phpBB ne trouve plus un message, cela ne signifie pas nécessairement que ce message a disparu.
Le problème peut être situé dans :
Code : Tout sélectionner
Recherche désactivée
↓
Mauvais moteur sélectionné
↓
Index absent
↓
Index incomplet
↓
Index non mis à jour
↓
Mot trop court
↓
Mot trop long
↓
Mot considéré comme trop commun
↓
Limite de charge système
↓
Permissions
Retenez surtout :
un message peut parfaitement être visible dans un sujet tout en étant absent de l’index de recherche ;
après une migration ou une conversion, la reconstruction de l’index peut être indispensable ;
le moteur actif et l’index créé doivent correspondre ;
modifier les règles des mots communs ou des longueurs de mots peut nécessiter une nouvelle indexation de l’ancien contenu ;
une recherche refusée pour charge système n’est pas forcément un problème d’index ;
et un résultat différent entre administrateur et membre peut simplement provenir des permissions.
La bonne méthode consiste toujours à commencer par un test très simple :
Code : Tout sélectionner
Choisir un message connu
↓
Choisir un mot rare contenu dans ce message
↓
Vérifier que le message existe
↓
Tester la recherche
↓
Comparer ancien et récent
↓
Identifier le moteur
↓
Vérifier l’index
Une fois ces éléments connus, la recherche phpBB cesse d’être une boîte noire.
Vous pouvez déterminer si le problème vient réellement de l’index, des réglages, du moteur de recherche, des permissions ou de l’environnement serveur, puis corriger la véritable cause sans toucher inutilement aux messages de votre communauté.