Certaines pages sont absentes des résultats de recherche (Solr)
Sommaire
Détails du problème
La recherche n'affiche pas une page dans ses résultats alors que cette page est bien présente dans le Wiki, par exemple la page est visible depuis http://tutos.myxwiki.org/xwiki/bin/view/Main/AllDocs.
Note : ce problème survient plus facilement lorsque le moteur de recherche utilisé est Solr car il est plus "riche / complexe".
Solutions possibles
Origine possible 1 : problème de droits d'accès
Faites le test suivant :
- Recherchez la page en anonyme
- Recherchez la même page une fois connecté avec l'utilisateur (xrichard) (il est conseillé d'utiliser 2 navigateurs web différents ont d'ouvrir un onglet en navigation privée pour avoir les sessions en simultanée)
- => Vérifiez s'il y a bien des différences dans les résultats trouvés.
Si une page est absente pour anonyme (alors qu'elle est trouvé pour l'utilisateur authentifié), il faut alors vérifier les droits sur la page en question ...
Exemple de droits corrects afin que l'utilisateur anonyme / guest voit la page :
Solution : modifier les droits
Modifiez les droits sur la page non trouvée ou encore supprimez la sous-page WebPreferences (qui contient les droits) afin de restaurer les droits par défauts / hérités du parent.
Origine possible 2 : problème de langue pour la page
Solution de contournement
Activez dans l'administration le moteur de recherche "base de données" car cet index ne tient pas compte de la langue !
Solution définitive "pas à pas"
- passez le Wiki en mode multi-langues
- trouvez et ouvrez la page "manquante" dans les résultats de recherche
- modifiez la page et indiquez "fr" dans la langue par défaut puis Enregistrer et Fermer comme illustré
- relancez une recherche... la page doit être affichée dans les résultats
- vous pouvez alors rebasculer le Wiki en mode mono-langue.
Origine possible 3 : problème d'indexation
Solution de contournement
Relancez l'indexation Solr et en attendant ... passez en moteur de recherche "base de données" car l'index utilisé n'est pas le même.