Recherche fulltext mot féminin et pluriel ?

WRInaute passionné
Bonjour,

Je me suis confectionné un petit moteur de recherche tout simple basé sur le fulltext mais celui-ci ne prend pas en compte les mots féminins et au pluriels.

Une recherche sur le mot "site" ne prendra pas en compte le mot "sites".
Une recherche sur le mot "actualisé" ne prendra pas en compte le mot "actualisée".
Etc..

Je me demandais si il était judicieux d'ajouter un astérisque * en fin de chaque mot pour que le féminin et pluriel des mots soit pris en considération ?
Code:
$requete = explode(" ",$requete);
foreach($requete AS $variable_au_pif => $valeur)
 {
  $recherche .= ''.$valeur.'* ';
 }

Merci
 
WRInaute accro
C'est pa ssi simple ...

recherche : verbal
Faut aussi trouver : verbaux :!: mais pas verbeux :!:
 
WRInaute passionné
Harggg, je n'avais pas vue cet aspect :( !

Bon, je vais rester sur du simple fulltext et ajouté un commentaire sur le fonctionnement du moteur avec les opérateurs + et *.
 
WRInaute accro
oui

Pense aussi , dès que tu fais du fulltexte, qu'il va te falloir gérer les caractères diacritiques :wink:
 
WRInaute passionné
Ok, mais les recherches sont relativement pourrit avec LIKE me semble t'il..non ?
LIKE ne prend pas en compte un groupe de mots et n'effectue pas un classement de pertinence contrairement au fulltext si je ne me plante pas ??
 
WRInaute accro
Moi perso je procede en deux temps :

1 - un select like qui me donne une premiere selection
2 - ensuite je retravaille le tableau php et la tu as tout liberté ... je t'envoie un lien en mp pour illustrer ...
 
WRInaute passionné
Oki, j'attends le mp.

Pour illustrer mon truc avec LIKE avec comme recherche par exemple "poussette bebevalle", LIKE va rechercher le terme exacte pour sortir les données. Si le titre d'une annonce contient "poussette de marque bebevalle", il ne la trouvera pas contrairement au fulltext qui va chercher les mots séparément.
 
WRInaute accro
tryan a dit:
Oki, j'attends le mp.

Pour illustrer mon truc avec LIKE avec comme recherche par exemple "poussette bebevalle", LIKE va rechercher le terme exacte pour sortir les données. Si le titre d'une annonce contient "poussette de marque bebevalle", il ne la trouvera pas contrairement au fulltext qui va chercher les mots séparément.
je t'ai envoyé exactement ca en MP !
 
WRInaute passionné
@ Leonick : sur ton exemple, est ce que la recherche est sensible aux majuscules ou pas ?
Par exemple si je recherche le mot "Actualise", va t'il me sortir les résultats comprenant également le mot "actualise"?
 
WRInaute accro
oui
Mais fais des essais avec phpmyadmin ou autre console sql, tu comprendras rapidement l'intérêt de ce type de recherches
 
WRInaute passionné
Je fais des testes justement et je dois avoué que les recherches par LIKE, regexp ou fulltext c'est super chiant à gérer et que rien n'est simple...
 
WRInaute occasionnel
Bonsoir,
Sur le même sujet mais sans le faire "soi-même" quelqu'un a-t-il déjà utilisé ça : http://www.sphider.eu/ ?
Je l'ai découvert récemment sur le site d'un client et ça à l'air plutôt béton. Avec notamment des suggestions de recherche en cas de faute de frappe. Un vrai moteur quoi :)
Mais avant de me jeter dessus, si jamais quelqu'un avait déjà bien utilisé la bête je serai preneur d'avis. Merci d'avance.
 
Discussions similaires
Haut