"et" logique dans recherche fulltext

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 : "et" logique dans recherche fulltext

par Hubert Roksor » 23 févr. 2006, 21:55

Ou tout simplement en utilisant IN BOOLEAN MODE, dont c'est le boulot ;)

Code : Tout sélectionner

SELECT *, MATCH (description) AGAINST ('deux mots') AS score FROM matable WHERE MATCH (description) AGAINST ('+deux +mots' IN BOOLEAN MODE) ORDER BY score DESC
Veille bien à lire le manuel concernant le fonctionnement de IN BOOLEAN MODE. Par exemple, celui-ci ne renvoit pas les enregistrements par ordre de pertinence par défaut.

par ouckileou » 23 févr. 2006, 21:15

Peut-être en découpant et en cherchant les mots séparément :

Code : Tout sélectionner

SELECT * FROM matable WHERE MATCH (description) AGAINST ('$motscle1') AND MATCH (description) AGAINST ('$motscle2')";
Tu peux facilement récupérer un tableau contenant tes mots clés en faisant un explode avec le séparateur (espace, +...)

"et" logique dans recherche fulltext

par rebaj » 23 févr. 2006, 18:20

Bonjour!

Je me suis fait un petit moteur de recherche sur mon site, mais malheureusement n'arrive pas a bien parametrer ma requete fulltext. Je m'explique:

Quand je fait une recherche sur le terme "mot1 mot2", les résultats comportent soit les deux mots, soit l'un des deux.

Comment faire pour n'obtenir les résultats qui contiennent uniquement les deux mots?

ma requete:

Code : Tout sélectionner

SELECT *, MATCH (description) AGAINST ('+$motscles') AS score FROM matable WHERE MATCH (description) AGAINST (+'$motscles')";
merci!