Requetes MATCH qui ne fonctionne pas, probleme d'index

Requetes MATCH qui ne fonctionne pas, probleme d'index - SQL/NoSQL - Programmation

Marsh Posté le 31-08-2007 à 12:35:28    

Salut!
 
je suis en train de creer un site pour le taff et j'en suis au moteur de recherche.
apparement quand je lance une requete, il me dis que je n'ai pas d'index FULLTEXT alors que je l'ai bien créé.
 

Code :
  1. mysql> show index from forms;
  2. +-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
  3. | Table | Non_unique | Key_name   | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
  4. +-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
  5. | forms |          0 | PRIMARY    |            1 | id          | A         |          18 |     NULL | NULL   |      | BTREE      | NULL    |
  6. | forms |          1 | index_text |            1 | subject     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  7. | forms |          1 | index_text |            2 | Content     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  8. | forms |          1 | index_text |            3 | En_post     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  9. | forms |          1 | index_text |            4 | De_post     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  10. | forms |          1 | index_text |            5 | Fr_post     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  11. | forms |          1 | index_text |            6 | Es_post     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  12. | forms |          1 | index_text |            7 | Ru_post     | NULL      |        NULL |     NULL | NULL   | YES  | FULLTEXT   | NULL    |
  13. +-------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
  14. 8 rows in set (0.00 sec)
  15. mysql> SELECT * FROM forms WHERE MATCH (Content) AGAINST ('test');
  16. ERROR 1191 (HY000): Can't find FULLTEXT index matching the column list


 
et la structure de cette table :

Code :
  1. mysql> desc forms;
  2. +--------------+--------------+------+-----+---------------------+----------------+
  3. | Field        | Type         | Null | Key | Default             | Extra          |
  4. +--------------+--------------+------+-----+---------------------+----------------+
  5. | id           | int(255)     | NO   | PRI | NULL                | auto_increment |
  6. | subject      | varchar(255) | YES  | MUL | NULL                |                |
  7. | insert_date  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  8. | canpost      | tinyint(4)   | YES  |     | NULL                |                |
  9. | En_post      | text         | YES  |     | NULL                |                |
  10. | De_post      | text         | YES  |     | NULL                |                |
  11. | Fr_post      | text         | YES  |     | NULL                |                |
  12. | Es_post      | text         | YES  |     | NULL                |                |
  13. | Ru_post      | text         | YES  |     | NULL                |                |
  14. | En_poster_id | int(11)      | YES  |     | NULL                |                |
  15. | Fr_poster_id | int(11)      | YES  |     | NULL                |                |
  16. | De_poster_id | int(11)      | YES  |     | NULL                |                |
  17. | Es_poster_id | int(11)      | YES  |     | NULL                |                |
  18. | Ru_poster_id | int(11)      | YES  |     | NULL                |                |
  19. | En_postdate  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  20. | Fr_postdate  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  21. | De_postdate  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  22. | Es_postdate  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  23. | Ru_postdate  | datetime     | YES  |     | 0000-00-00 00:00:00 |                |
  24. | En_link      | varchar(255) | YES  |     | NULL                |                |
  25. | Fr_link      | varchar(255) | YES  |     | NULL                |                |
  26. | De_link      | varchar(255) | YES  |     | NULL                |                |
  27. | Es_link      | varchar(255) | YES  |     | NULL                |                |
  28. | Ru_link      | varchar(255) | YES  |     | NULL                |                |
  29. | Content      | text         | YES  |     | NULL                |                |
  30. | Category     | smallint(8)  | YES  |     | NULL                |                |
  31. | Subcategory  | smallint(8)  | YES  |     | NULL                |                |
  32. | En_posted    | tinyint(4)   | YES  |     | NULL                |                |
  33. | De_posted    | tinyint(4)   | YES  |     | NULL                |                |
  34. | Fr_posted    | tinyint(4)   | YES  |     | NULL                |                |
  35. | Es_posted    | tinyint(4)   | YES  |     | NULL                |                |
  36. | Ru_posted    | tinyint(4)   | YES  |     | NULL                |                |
  37. | game         | smallint(10) | YES  |     | 0                   |                |
  38. +--------------+--------------+------+-----+---------------------+----------------+
  39. 33 rows in set (0.01 sec)


 
voilà, je sais pas trop comment résoudre ce soucis, alors si vous avez une idée je suis tout ouie ;)
 
merci :jap:

Reply

Marsh Posté le 31-08-2007 à 12:35:28   

Reply

Marsh Posté le 31-08-2007 à 13:14:20    

t'as créé ton index fulltext sur toutes les colonnes en même temps et non pas un par colonne?
Si c'est le cas ça ne peut pas marcher, je cite la doc:

Citation :

Pour les recherches en texte intégral et en langage naturel, la technique impose que les colonnes utilisées avec la fonction MATCH() doivent être les mêmes que les colonnes utilisées dans un index FULLTEXT. Dans la requête précédente, notez que les colonnes nommées dans la fonction MATCH()  (title et body) sont les mêmes que celles de la définition de la table article et son index FULLTEXT. Si vous voulez rechercher le titre title ou le corps body  séparément, vous devrez créer un index FULLTEXT pour chaque colonne.

Reply

Marsh Posté le 31-08-2007 à 15:11:29    

ah ok, je pensais que ça serai un peu moins "contraignant"
 
merci beaucoup  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed