C'est moi qui devient folle ou quoi?
Résolu
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je vais devenir chèvre avec une requête tout simple qui ne veut pas fonctionner...
Voici ma requête:
et voici ma table
Et ben rien à faire, ça me sort 0 résultat !!! Pourquoi ?
A l'aide!!! :-)
Je vais devenir chèvre avec une requête tout simple qui ne veut pas fonctionner...
Voici ma requête:
SELECT *, MATCH ('nom') AGAINST ('meuble') AS cpt FROM articles_temp
WHERE MATCH ('nom') AGAINST ('meuble')
ORDER BY cpt DESC
et voici ma table
CREATE TABLE IF NOT EXISTS 'articles_temp' (
'id' int(5) NOT NULL,
'nom' varchar(100) NOT NULL,
'epoque' varchar(50) NOT NULL,
'valeur' varchar(10) NOT NULL,
'couleur' varchar(50) NOT NULL,
'matiere' varchar(50) NOT NULL,
'description' varchar(100) NOT NULL,
'categorie' varchar(50) NOT NULL,
'etat' varchar(50) NOT NULL,
'urlphoto' varchar(50) NOT NULL,
PRIMARY KEY ('id'),
UNIQUE KEY 'id' ('id'),
FULLTEXT KEY 'description' ('description'),
FULLTEXT KEY 'nom' ('nom'),
FULLTEXT KEY 'couleur' ('couleur'),
FULLTEXT KEY 'matiere' ('matiere')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Contenu de la table 'articles_temp'
--
INSERT INTO 'articles_temp' ('id', 'nom', 'epoque', 'valeur', 'couleur', 'matiere', 'description', 'categorie', 'etat', 'urlphoto') VALUES
(16, 'meuble de metier', '', '', '', '', ' un beau meuble', 'Meubles', '', 'e2c2f56789fc60c0f321869e1c748ac1'),
(17, 'Lot de vases', 'contemporain', '', '', 'verre', ' utilisez-les en vases ou en verres, peu importe !', 'Vaisselle', 'neuf', '49793d3aa98d356c1f8aa84f2bc2754c');
Et ben rien à faire, ça me sort 0 résultat !!! Pourquoi ?
A l'aide!!! :-)
A voir également:
- C'est moi qui devient folle ou quoi?
- (E) devient € ✓ - Forum Excel
- Sapraz.com devient ✓ - Forum Matériel & Système
- Que devient votre ancien numéro de téléphone - Forum Mobile
- Mon curseur devient des traits, - Forum Windows
- Pirvox devient clojmi ✓ - Forum MacOS
4 réponses
non,hélas, ça me renvoie une erreur sql, et puis j'ai besoin que ça me trie les résultats par ordre décroissant de pertinence.
je viens de tester tout simplement
et là non plus ça ne trouve aucun résultat... :'(
mais merci quand même! :-)
je viens de tester tout simplement
SELECT * FROM articles_temp WHERE MATCH (nom) AGAINST ('meuble')
et là non plus ça ne trouve aucun résultat... :'(
mais merci quand même! :-)
Bonjour,
Et si tu tentes simplement ceci :
(sans la clause WHERE, donc)
Tu obtiens quoi ?
0 pour les deux lignes ?
Xavier
Et si tu tentes simplement ceci :
SELECT *, MATCH (nom) AGAINST ('meuble') FROM articles_temp
(sans la clause WHERE, donc)
Tu obtiens quoi ?
0 pour les deux lignes ?
Xavier
oui, même sans clause where, j'ai 0 sur les deux lignes... :-(
Ça énerve, hein? ;-)
Ça énerve, hein? ;-)
Ah ah ! Oui :)
Du coup j'ai fait quelques recherches.
Et j'ai trouvé un truc : un mot qui apparaît dans au moins 50% des résultats n'est pas pris en compte !
D'après les explications sur https://dev.mysql.com/doc/refman/8.0/en/fulltext-natural-language.html , cela vient du fait qu'un mot trop courant dans un contexte contient une valeur sémantique faible dans ce contexte.
Si tu rajoutes quelques autres lignes sans le mot 'meuble', cela devrait donc aller mieux !
Sinon, il te reste toujours la syntaxe LIKE...
Du coup j'ai fait quelques recherches.
Et j'ai trouvé un truc : un mot qui apparaît dans au moins 50% des résultats n'est pas pris en compte !
D'après les explications sur https://dev.mysql.com/doc/refman/8.0/en/fulltext-natural-language.html , cela vient du fait qu'un mot trop courant dans un contexte contient une valeur sémantique faible dans ce contexte.
Si tu rajoutes quelques autres lignes sans le mot 'meuble', cela devrait donc aller mieux !
Sinon, il te reste toujours la syntaxe LIKE...
le problème, c'est que ça ne marche pas mieux avec 'metier' ou 'Lot'...
Je ne veux pas utiliser LIKE, c'est une requête bcp plus lourde, et surtout je voudrais comprendre!
Mais apparemment ça vient de la table, parce que j'ai testé cette même requête sur une autre table, et ça fonctionne nickel...
Pourtant elles sont configurées de la même façon ( FULLTEXT KEY 'nom' ('nom') etc.) donc je ne comprends pas d'où peut venir l'erreur...
Je ne veux pas utiliser LIKE, c'est une requête bcp plus lourde, et surtout je voudrais comprendre!
Mais apparemment ça vient de la table, parce que j'ai testé cette même requête sur une autre table, et ça fonctionne nickel...
Pourtant elles sont configurées de la même façon ( FULLTEXT KEY 'nom' ('nom') etc.) donc je ne comprends pas d'où peut venir l'erreur...