Utiliser IF pour affiner un ORDER BY en MySQL - SQL/NoSQL - Programmation
Marsh Posté le 27-05-2011 à 07:52:49
Ya pas un equivalent du SOUNDEX (SQL Server)?
Tu pourrais faire un order by SOUNDEX(xxx), etc et ca devrai etre trié dans un ordre un peu plus logique pour oit.
Marsh Posté le 27-05-2011 à 08:47:01
Je ne comprends pas trop l'intérêt du SOUNDEX pour le tri, d'autant que ma recherche n'est pas destiné qu'a la recherche de nom de fichier exact.
Je m'attend autant (si ce n'est plus) à ca que l'utilisateur rentre "bleu ciel nuage".
Marsh Posté le 27-05-2011 à 13:47:06
Le tri sur SOUNDEX devrai te retourner ce qui semble etre le plus proche en premier, c'est un moyen simple d'eviter de gros problemes mais il a des limitations.
Pour le faire a la Google & co. il faut garder le resultat des recherches precedente, comparer a chaque fois et essayer de deviner ce que le gars veut. Pas du tout une balade dans le parc.
Marsh Posté le 30-05-2011 à 09:23:04
Désolé mais je ne vois pas ce que tu veux trier par SOUNDEX !?
Bon en cherchant un peu j'ai vu que ma manipulation fonctionnait en mettant le CASE directement dans le ORDER BY :
Code :
|
Marsh Posté le 26-05-2011 à 17:35:03
Bonjour,
Dans la gestion de ma photothèque, je souhaite faire remonter les recherches textuelles de façon plus précise.
Voici un aperçu de ma BDD :
pict_id (int primary) | pict_filename_orig (varchar 200 index) | index_fulltext (text)
avec un index fulltext sur les 2 champs textes.
Ma requête actuelle quand un gars rentre "ciel bleu.jpg" :
Ça marche pas trop mal sauf que si j'ai 5000 photos avec les mots clés ciel, bleu et jpg dans "index_fulltext", ce n'est pas forcement ciel bleu.jpg qui remonte en premier...
J'ai essayé d'ajouter un peu de LIKE('%%') pour pondérer le résultats tout en gardant les avantages du match against :
Ce qui ne fonctionne pas (sinon je posterais pas ici ^^).
J'ai essayé pas mal de truc sans vraiment trouver et Google ne pas des masses aidé jusqu'à présent...
...à vrai dire je ne suis même pas sur que la voie que j'emprunte sois la plus logique.
Au pire je pourrais refaire le tri derrière en PHP mais bon tant qu'a faire.
Merci d'avance
Message édité par mechkurt le 27-05-2011 à 08:43:31