Modifier le comportement de la barre de recherche

Parce que c'est en cherchant qu'on devient chercheron

a marqué ce sujet comme résolu.

Je n'ai trouvé aucune issue GitHub ni aucun topic là dessus, pourtant le soucis me semble assez important. Peut-être que cela a déjà été débattu, mais le fait que je n'ai rien trouvé fait d'une certaine manière, partie du problème. :-)

La barre de recherche n'est pas efficace.

Un exemple (il y en aurait bien d'autres) :

Je veux apprendre Python. Je tape Python dans la barre de recherche : le tutoriel Les bases de Python (qui est la réponse la plus évidente à ma recherche) apparaît en 9ème position, en bas de page (nécessité de scroller).

La plupart des propositions sont des messages dans les forums, qui n'aident en rien. Par exemple, ce message qui arrive en première position, ne m'aide pas à apprendre le Python :

La version de python 1.23 ?

Les 8 premiers messages sont du même style.

Il me semble important de revoir l’algorithme de ranking de cette barre de recherche, d'autant plus que c'est ce qui est mise ne avant sur la page d'accueil du site.

Dans le mesure du possible on ne devrait pas avoir a utiliser le filtre dans la sidebar.

Je proposerais cet ordre de priorité (à débattre avec vous, bien sur) :

  1. Le titre des tutoriels (éventuellement classés par ordre de fréquentation du tuto si il y a plusieurs résultats) ;
  2. Le nom des parties / section / chapitres des tutoriels ;
  3. Le titres des articles (qui sont plus voués à concerner l'actualité, donc il y moins de raison de chercher un article qu'un tutoriel) ;
  4. Le nom des parties / section / chapitres des articles ;
  5. Le titre des topics sur les forums ;
  6. Le nom des membres (ça peut arriver de vouloir chercher un membre avec la barre de recherche) ;
  7. Le contenu des tutoriels ;
  8. Le contenu des articles ;
  9. Le contenu des messages sur les forums.

Qu'en pensez-vous ?

+12 -0

pluzin (pas forcément pour le ranking proposée, mais surtout pour effectivement revoir les poids de chaque chose).

Cependant, de mes souvenirs de dev ZdS, c'est un peu de la magie noire de tweaker Solr (le moteur de recherche de ZdS) (et c'est en fait surtout difficile de faire des tests en local faute de données vraiment représentative)

+3 -0

(et c'est en fait surtout difficile de faire des tests en local faute de données vraiment représentative)

Pas possible de dump la db ZdS pour faire un test représentatif en local ?

+0 -0

Je confirme que le problème est connu mais qu'on a un vrai problème de connaissances techniques pour résoudre.

Peut-être qu'une solution serait de passer à ElasticSearch, qui a fait d'énormes progrès depuis la création de ZdS et qui est maintenant infiniment plus simple à régler.

Pas possible de dump la db ZdS pour faire un test représentatif en local ?

C'est compliqué car outre l'importante quantité de données (en base mais aussi en dépot git car chaque tuto et article est un dépot avec des fichiers) cela pose des problèmes de confidentialités. On ne peut pas donner un dump a n'importe qui sachant que dedans il y a toutes les conversations de MP, les messages sur les forums privés, du contenu non publié, les adresses mails des membres, etc.

Donc un dump c'est vraiment très compliqué légalement à fournir.

+0 -0

Dans l'idée, oui. Cependant, les articles n'ont pas vocation à concerner l'actualité. Ça revient régulièrement sur le tapis, mais la moitié des gens ne met pas ce lien, et plus encore parmi les rédacteurs d'article. Sur les 10 derniers, on a 1 articles ZdS, deux vaguement actualités (Rosetta), une interview et 6 non liés à l’actualité.

Ensuite, la recherche, même si elle bien meilleur que pendant un moment, reste assez aléatoire, en particulier lorsque l'on recherche un message dans le forum.

+0 -0

Cependant, les articles n'ont pas vocation à concerner l'actualité

Oui, c'est juste que par qui sont plus voués à concerner l'actualité, j'entendais : les articles ont plus de chances de concerner l'actualité que les forums.

Du coup j'ai créé une issue sur le GitHub, même si je comprend que le problème n'est pas simple.

+0 -0

Ce qui est possible techniquement, c'est de pouvoir en fonction des infos indexé apporter une prioritée en pourcentage. Encore faut-il savoir quel ordre et quel priorités on accorde (cf docs).

Mais on ne peut qu'apporté des priorités selon un champ indexé et tous les champs ne sont pas indexé (pour des raisons de perf). Plus on a de champ indexé plus on prendra de temps sur le cpu/mémoire/… et donc évidement des soucis de performance. Faut savoir aussi que l'indexation, se fait dans la nuit donc il y'a souvent moins de personnes sur le site et donc moins de personne sont impactées. Ça joue aussi lors du lancement de la recherche.

Je proposerais cet ordre de priorité (à débattre avec vous, bien sur) :

  • Le titre des tutoriels (éventuellement classés par ordre de fréquentation du tuto si il y a plusieurs résultats) ;

Les ordres de fréquentation n'est pas une donnée indexée, je sais même pas si on l'information dans la base de donnée. C'est pas google analytics qui nous fournit ça ?

Le nom des parties / section / chapitres des tutoriels ;

Mouai, pourquoi pas

Le titres des articles (qui sont plus voués à concerner l'actualité, donc il y moins de raison > de chercher un article qu'un tutoriel) ;

Un article concerne pas forcément l'actualité pour moi, il devrait avoir le même poids.

Le nom des parties / section / chapitres des articles ;

Même remarque

Le titre des topics sur les forums ;

Faudrait déjà résoudre le souci qui renvoi tous les messages du topic si on tape un mot clé du titre.

Le nom des membres (ça peut arriver de vouloir chercher un membre avec la barre de recherche) ;

Donnée non indexée (cf ticket). On a de de mémoire le nom de l'auteur du message, il me semble mais je ne suis pas sûr.

Le contenu des tutoriels ;

Tu parle des extraits, je suppose ?

Le contenu des articles ;

Tu parle des extraits, je suppose ?

Le contenu des messages sur les forums.

Y'en a d'autre, si le sujet est résolu, fermé, le ratio ou même le nombre de pouce vert/rouge sur le message.

Edit :

@Kje:

Donc un dump c'est vraiment très compliqué légalement à fournir.

Je comprend ton argument, je le trouve pertinent mais pour moi, il y'a pas lieu d'être car la recherche à besoin uniquement d'indexer des tutoriels, articles publié et message sur le forum pour l'instant. Même si ça doit faire son poids en terme de place, le repo fait déjà un giga donc bon.

Tu pourrai me dire qu'il y'a l'historique Git mais on pourrait le censurer. Supprimer tous les commits.

Je comprend bien aussi que l'extraction serait bien chiante à faire mais même y'a pas vraiment besoin de le mettre à jours.

@Spacefox:

Pas de ElasticSearch v2.0 avec haystack. Faut faire attention à ça.

@Eskimon:

Sans compter le problème de lenteur des tests. L'indexation des contenus est genre assez longue, surtout quand on part de zéro

Y'a pas de test unitaire donc tu gagne du temps, y'a pas besoin de les faire passer ! (ironie, toussa.) Faut juste aller faire le café pendant le temps de l'indexation ou rédiger un contenu.

+0 -0

Tu parle des extraits, je suppose ?

Oui

Y'en a d'autre, si le sujet est résolu, fermé, le ratio ou même le nombre de pouce vert/rouge sur le message.

+1, bonne idée :)

+0 -0

Bonsoir,

Rapidement, un petit retour d'expérience utilisateur de ma sœur à qui je parlais du site ces derniers temps. Je le rapporte ici car ça confirme le problème que j'avais soulevé sur ce topic (et sur ce ticket), mais je ne sais pas si ça a beaucoup avancé depuis.

Son expérience sur ZdS n'a pas durée plus de 3 minutes.

Elle souhaitait voir s'il y avait des contenus sur l'astronomie et l'informatique. Comme sur la page d'accueil il y a une barre de recherche, bien visible et bien large, elle l'a utilisée. Elle a tapée astronomie. Elle a trouvé que des sujets sur les forums (datant de 2014, après essai), elle a donc pensée qu'il n'y avait pas de contenus sur l'astronomie. Ensuite elle a tapée programmation, idem. Elle a donc pensée que pour l'instant, le site n'était pas complet niveau contenu, donc elle s'est arrêtée là.

Peut-être que vous, vous n'auriez pas fait comme ça. Peut-être que vous vous dites qu'elle fait un mauvais usage du site et qu'il est plus intelligent de passer par la top-bar.

Le fait est que la barre de recherche est vraiment, vraiment mise en avant sur le site et je la trouve vraiment, vraiment inefficace.

Quoi qu'on tape, on ne tombe quasiment que sur des topics du forum datant de 2014, ce qui est totalement inutile. En l'état, elle me semble plus néfaste qu'autre chose.

Si la rendre plus efficace nécessite beaucoup de développement, serait-il possible de simplement la supprimer temporairement1 ?


  1. de la page d'accueil j'entends, pas du header, pour ceux qui l'utilisent. ;-) 

+11 -0

Je suis pas contre la masquer. D'ailleurs on a des bugs de recherche en ce moment et personne semble pouvoir les régler, et on aimerait quitter solr pour elasticsearch mais personne semble pouvoir s'en occuper.

Ah, dans un tout autre registre, pour enlever la barre de recherche de la home page sans qu'elle devienne trop moche il faudrait du dev front-end. Mais là aussi, personne semble vouloir contribuer. ;)

+1 -0

Si vous craignez que ce soit trop fort de supprimer la recherche de la page d'accueil (donc du site, car je ne crois pas qu'elle soit disponible ailleurs), peut-être au moins cocher "Articles" et "Tutoriels" par défaut : quelqu'un qui recherche un truc sur le forum est probablement un utilisateur régulier du site, il saura s'en sortir, et le nouveau cherche surement un contenu, et la recherche se limitera à ça (et marche à peu près correctement pour le coup).

+0 -0

peut-être au moins cocher "Articles" et "Tutoriels" par défaut : quelqu'un qui recherche un truc sur le forum est probablement un utilisateur régulier du site, il saura s'en sortir, et le nouveau cherche surement un contenu, et la recherche se limitera à ça (et marche à peu près correctement pour le coup).

Gabbro

Wishful thinking. Essai par exemple de trouver le tutoriel Toki Pona.

+0 -0

Je ne comprends pas. Avec "Articles" et "Tutoriels" de coché (ce que je propose ici de mettre par défaut), on trouve bien le tuto sur le toki pona dans les 3 premiers liens avec les mots clé "toki pona", "langue(s)", "linguistique", et apparait sur la première page avec 'anglais" et "allemand". Je suis passé à côté de quelque chose ?

Par contre, il semble que la recherche renvoie vers des sections/parties de tuto même lorsque l'option en question n'est pas cochée. À vrai dire, je n'ai pas l'impression que cocher ou non l'une des deux options "Parties des tutoriels" ou "Sections des tutoriels" change les résultats…

+0 -0

Je ne comprends pas. Avec "Articles" et "Tutoriels" de coché (ce que je propose ici de mettre par défaut), on trouve bien le tuto sur le toki pona dans les 3 premiers liens avec les mots clé "toki pona", "langue(s)", "linguistique", et apparait sur la première page avec 'anglais" et "allemand". Je suis passé à côté de quelque chose ?

Gabbro

Je sais pas, et je veux pas détourner le sujet. En tout cas avec cette recherche j'obtiens que des liens morts.

+0 -0

Tu as raison, je n'avais pas fait gaffe. Certains liens sont effectivement morts. Typiquement, la page maitre du tuto est bien trouvée, mais les chapitres, comme cette page-ci, sont mal trouvées, puisque la recherche renvoie . Je n'ai pas réussi à reproduire ce comportement avec un autre tuto. Ça semble être un joli bug de la recherche spécifique sur ce tuto. J'ouvrirai un ticket Github ce soir si ça n'a jamais été rapporté.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte