Sql match against (requête avec degré de pertinence)

Signaler
Messages postés
53
Date d'inscription
vendredi 2 janvier 2004
Statut
Membre
Dernière intervention
1 décembre 2008
-
Messages postés
259
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
22 novembre 2010
-
Bonjour, je fais une requête PHP/MySQL pour obtenir des résultats classés par ordre de pertinence, ça marche impécable, sauf que lorsque la string de recherche fait 3 caractères ou moins, il ne la prend pas en compte. Normal 1 ou 2 ça donnerait beaucoup trop de résultat, mais j'aurai besoin de 3. Est-ce que quelqu'un sait si c'est possible de parmétrer cette requête? Merci...

$query = "SELECT * FROM table_src WHERE MATCH (champs1,champs2,champs3,etc..) AGAINST ('$str_recherche')";

2 réponses

Messages postés
1
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
23 janvier 2009

Bonjour Julien,

La requête MATCH ... AGAINST est possible sur un champ de type Fulltext. Pour accellerer la recherche ta base de donnée créer un index de recherche sur ce champ et il est fort possible que cet index soit depuis 4 caractères dans ton cas.

Tu peux diminuer le nombre de caractères d'indexation, mais attention celà  va d'augmenter la taille de ton index, donc selon la quantité de donnée et la taille disponible sur ton serveur fait attention.

Amicalement Spiritueux
Messages postés
259
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
22 novembre 2010
2
Comment faire pour réduire cet index ?

Nom de l'index Type Unique Compressé Champ Cardinalité
titre_2 FULLTEXT Non Non titre 1