Bonjour,
J'utilise un moteur de recherche en full text, il foncctionne très bien à conditions que les résultats de la bd correspondent exactement aux termes recherchés
Si je tape le terme "annuaire" il ne va me retourner que les lignes avec exactement cet orthographe, par contre si je tape "annuaires"
il ne va pas m'afficher les résultats oui il y a "annuaire" sans s et j'avoue que c'est ennuyeux
Exist'il un solution direct ?
Exemple de ma requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // +------ Requete recherche + poids des critères -------+ $query = "SELECT id, nomsite, description, mcles, url, urlrss, texte,( (1.95 * (MATCH (nomsite) AGAINST ('$mots2' IN BOOLEAN MODE))) + (1.65 * (MATCH (description) AGAINST ('$mots2' IN BOOLEAN MODE))) + (1.05 * (MATCH (mcles) AGAINST ('$mots2' IN BOOLEAN MODE))) + (1.90 * (MATCH (url) AGAINST ('$mots2' IN BOOLEAN MODE))) + (1.50 * (MATCH (texte) AGAINST ('$mots2' IN BOOLEAN MODE))) ) AS relevance FROM $tableannu WHERE ( MATCH (nomsite , description, mcles, url, texte) AGAINST ('$mots2' IN BOOLEAN MODE) ) AND valid='1' HAVING relevance > 0 ORDER BY relevance DESC LIMIT $debut,$limit";
Je vous vois venir.. et me dire, il suffit de taper "annuaire*" et il va chercher automatiquement l'ensemble des résultats avec "annuaire" et "annuaires" mais le but n'est pas d'imposer
une nouvelle recherche aux visiteurs mais que la recherche soit moins sensible et se fasse en une fois
D'avance merci pour vos solutions
Cordialement
Yule
Partager