OVH Community, votre nouvel espace communautaire.

requete de recherche via FULL TEXT & WITH QUERY EXPANSION ne marche pas


laurent_du_78
17/11/2008, 18h01
Bonjour ciboulette15000,
l'option WITH QUERY EXPANSION permet seulement à MySQL de sortir d'autres lignes qui contiennent un mot (que MySQL retrouve souvent) associée au mot initialement recherché.

Exemple de la doc Mysql
* Recherche sans "WITH QUERY EXPANSION"
Code:
SELECT * FROM articles
 WHERE MATCH (title,body) AGAINST ('database');
+----+-------------------+------------------------------------------+
| id | title             | body                                     |
+----+-------------------+------------------------------------------+
|  5 | MySQL vs. YourSQL | In the following database comparison ... |
|  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |
+----+-------------------+------------------------------------------+
* Recherche sans "WITH QUERY EXPANSION"
Code:
SELECT * FROM articles
 WHERE MATCH (title,body)
 AGAINST ('database' WITH QUERY EXPANSION);
+----+-------------------+------------------------------------------+
| id | title             | body                                     |
+----+-------------------+------------------------------------------+
|  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |
|  5 | MySQL vs. YourSQL | In the following database comparison ... |
|  3 | Optimizing MySQL  | In this tutorial we will show ...        |
+----+-------------------+------------------------------------------+
MySQL affiche la 3eme ligne car dans les 2 premières il a retrouvé le mot Mysql

ciboulette15000
05/11/2008, 00h29
salut , alors petite question mais avant petite information
j'ai mon serveur sur OVH 240plan
j'ai une table produit avec un nom et une description
produits_id
produits_nom <- varchar en full text
produits_description <-text en full text

je voulez faire un petit moteur de recherche pour chercher du texte , alors au debut j'ai choisi simple avec un LIKE , mais j'ai voulu voir plus loin alors je suis tomber sur : http://dev.mysql.com/doc/refman/5.0/...expansion.html
ça a l'air vraiment sympatique , alors je test , les premier test basique marche , alors je me dit tien je vais tester la fonction "WITH QUERY EXPANSION" (la plus interessante, en gros si j'ai bien compris on tape "ecren" houps !! et lui il calcule le mots qui ressemble le plus)


Code:
SELECT * FROM produits WHERE MATCH (produits_nom,produits_description)
 AGAINST ('ecren' WITH QUERY EXPANSION);
et la normalement il doit me sortir tout les resultat avec le mots ecran (avec un A)
mais il me retourne aucun resultat et aucun message d'erreur vous savez pourquoi ?