classement d'une UNION par pertinence

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : classement d'une UNION par pertinence

classement d'une UNION par pertinence

par noradan » 14 août 2025, 15:33

Bonjour
j'ai une requête qui se fait en FULL TEXT sur une union de table indexées

Code : Tout sélectionner

SELECT bla bla, etc FROM table1 WHERE MATCH(item1) AGAINST(test1 ) UNION SELECT autre blabla FROM table2 WHERE MATCH(item2) AGAINST(test2)
Mon problème est que le classement par pertinence se fait sur les tables l'une à la suite de l'autre ce qui donne parfois une sortie fautive dans le sens où apparait en premier un "match" partielle dans la table 1 alors qu'il y a un "match" total dans la table 2 mais celui-ci n'arrive qu'après tous les résultats de la table 1 même si en réalité il ne sont pas pertinent du tout.

Comment puis-je résoudre ce problème ? Concrètement qu'un "match" dans la table 2 se retrouve avant un match dans la table 1 si la pertinence (qui est calculée par WHERE) est plus grande.