Les résultats de recherche doivent privilégier le premier message du sujet lorsque le titre correspond au terme de recherche

Donc, il n’y a absolument aucun moyen de savoir dans l’index de recherche si un message est le premier message ?

Que pensez-vous de ce genre d’ajustement :

Lorsqu’un sujet contient plusieurs messages correspondant à un terme de recherche donné, ET QUE L’UN DES MESSAGES EST LE PREMIER MESSAGE accordez à ce message spécifique, celui qui est le premier message, une énorme augmentation dans le classement des résultats de recherche.

Ainsi, vous évitez un comportement aveugle de « tri par numéro de message », tout en donnant correctement la priorité au premier message ?

2 « J'aime »

Actuellement non, mais cela ne serait pas difficile à ajouter, car c’est similaire à une optimisation que j’ai réalisée l’année dernière pour nous permettre de filtrer le PostSearchIndex par message privé ou non message privé.

2 « J'aime »

Mon avis est que l’avantage théorique d’un classement précis des doublons par sujet présente trop d’inconvénients.

  • Les utilisateurs pourraient utiliser la recherche comme un signet et être confus lorsqu’une recherche qui les menait systématiquement au message #77 les dirige maintenant vers le #892.

  • Pour aggraver les choses, nous n’avons aucun mécanisme pour « aller au premier message non lu dans un sujet », de sorte que privilégier les messages plus récents comporte un gros inconvénient : il est plus probable que cela crée des lacunes dans la lecture (par exemple, vous avez lu les messages 1, 2 et 3, mais pas de 4 à 88… et maintenant vous tombez sur le 89).

Je préfère nettement privilégier systématiquement le premier message d’un sujet : c’est plus simple à expliquer et beaucoup plus stable.

5 « J'aime »

Je suis d’accord, cette solution me convient :+1:

4 « J'aime »

Utilisons-nous le classement du premier résultat ou celui du meilleur message du sujet ? Nous faisions auparavant le second, ce qui semble incorrect car nous prenions le classement d’un message qui n’apparaîtra pas dans les résultats de recherche pour le comparer aux messages d’autres sujets.

3 « J'aime »

Je dirais que nous utilisons le lien vers MIN(post_number) et que nous classons selon MAX(rank) lors des opérations d’agrégation.

3 « J'aime »

Le nouveau comportement a été annulé dans

5 « J'aime »

Ce sujet a été automatiquement fermé après 6 jours. De nouvelles réponses ne sont plus autorisées.

Merci d’avoir rouvert le sujet. Je pense qu’il y a toujours un problème lié à cela. Sur https://community.wanikani.com, il existe un sujet intitulé « General Anime Thread ». Si je recherche « general anime », ce sujet apparaît en premier résultat, mais il redirige vers ce message 511. Ce qui est particulièrement étrange, c’est que ce message ne contient même pas les mots « general » ou « anime ». Donc, d’une certaine manière, cela semble encore pire que le problème initialement signalé. À ce que je sache, https://community.wanikani.com devrait être sur une version postérieure à la fusion de cette correction.

Pour donner un deuxième exemple, si je recherche « japanese book club », j’obtiens le message 925 de ce sujet, même si le terme de recherche figure dans le titre du sujet.

J’ai essayé de reproduire le problème sur meta, mais je n’y suis pas parvenu. Cela pourrait simplement être dû aux termes spécifiques que j’ai essayés de rechercher.

4 « J'aime »

Avez-vous vérifié la version en affichant le code source ? Si vous ne pouvez pas reproduire le problème ici, il s’agit probablement d’un conflit de versions.

1 « J'aime »

Cela provient du code source de la page :

Discourse 2.7.0.beta4 - https://github.com/discourse/discourse version 47835ade9a3dcebb14bdd744e92d93b9c9199b90

Ce commit date d’il y a deux jours, et je parviens toujours à reproduire ce problème avec les exemples de mon dernier message.

3 « J'aime »

Merci pour ce rapport très détaillé, @tgxworld va jeter un coup d’œil rapide !

4 « J'aime »

@sam Je sais de quoi il s’agit. Nous avons une optimisation des performances de recherche pour les grands sites où nous ne parcourons qu’un index partiel. Comme le premier message est très ancien, il est exclu de cet index partiel, c’est pourquoi nous ne le relions pas. Je dois réfléchir à la solution, car les options qui me viennent à l’esprit impliquent soit de sacrifier les performances pour la précision, soit la précision pour les performances.

3 « J'aime »

Serait-il raisonnable (en termes de compromis de performance) d’inclure dans l’index le premier message de chaque sujet ? Ou peut-être seulement le premier message de chaque sujet si celui-ci contient un message dans la plage de temps optimisée ? En supposant que cette dernière option soit même réalisable d’un point de vue base de données.

3 « J'aime »

C’est techniquement faisable, mais c’est un problème monumental.

Je crains que le compromis consistant à consacrer, disons, une semaine à un remaniement minutieux des index ne vaille peut-être pas la peine pour corriger cela.

Je peux également imaginer de nombreuses situations atypiques qui compliquent les choses (comme un forum regorgeant de sujets courts).

Attendez un peu avant de procéder et voyons à quelle fréquence cela se produit.

Une modification temporaire que nous pouvons probablement nous permettre sur votre forum est de doubler la taille de votre index récent ; cela est configurable (@tgxworld, peux-tu peut-être le configurer).

4 « J'aime »

Merci ! Si tu penses que c’est sûr de le faire, ce serait super !

3 « J'aime »

Cela a-t-il été fait un jour ? La recherche du sujet mentionné précédemment mène maintenant au message 523 au lieu du 511, ce qui semble indiquer que de plus en plus de messages sortent de la portée de l’index.

2 « J'aime »

Salut Sean, désolé que cela n’ait pas été soulevé.

Je viens de le modifier (SiteSetting.search_recent_posts_size) à 250k, tu n’as que 163k de sujets. Il faudra quelques jours pour que le changement prenne effet, un tâche planifiée doit s’exécuter.

4 « J'aime »

Je crois que les modifications ont déjà pris effet. J’avais auparavant changé cela à 1 million, mais j’ai oublié de publier une mise à jour ici.

@sam, avons-nous l’intention de résoudre ce problème à un moment donné ? Inclure tous les premiers messages dans l’index partiel ne semble pas être un mauvais compromis. Je sais, d’après des discussions précédentes, que @codinghorror estime que la recherche devrait fortement privilégier les sujets avant d’afficher les messages au sein d’un sujet.

3 « J'aime »