mise en place de fulltext
Posté : 08 juil. 2008, 10:22
Bonjour,
J'ai besoin de faire une requete qui effectue une recherche sur un soixantaine de champs. J'avais commencé avec les opérateur LIKE, et je viens de découvrir l'existence de FULLTEXT.
J'ai 2 questions:
- Les champs seront-ils correctement indexés si je crée l'index FULLTEXT après avoir créé et rempli tous mes champs ?
- Lors de la création mysql m'a répondu :
#1070 - Too many key parts specified; max 16 parts allowed
Comment pallier à ce problème si j'ai plus de 16 champs a analyser ?
EDIT:
J'ai créer 4 index FULLTEXT. J'arrive a faire une recherche dans l'un des index mais comment faire pour rechercher dans les 4 ?
Ce code fonctionne :
Mais pas celui là:
Est-ce la bonne méthode ?
J'ai besoin de faire une requete qui effectue une recherche sur un soixantaine de champs. J'avais commencé avec les opérateur LIKE, et je viens de découvrir l'existence de FULLTEXT.
J'ai 2 questions:
- Les champs seront-ils correctement indexés si je crée l'index FULLTEXT après avoir créé et rempli tous mes champs ?
- Lors de la création mysql m'a répondu :
#1070 - Too many key parts specified; max 16 parts allowed
Comment pallier à ce problème si j'ai plus de 16 champs a analyser ?
EDIT:
J'ai créer 4 index FULLTEXT. J'arrive a faire une recherche dans l'un des index mais comment faire pour rechercher dans les 4 ?
Ce code fonctionne :
Code : Tout sélectionner
SELECT * FRom matable WHERE MATCH (champs1,...,champs16) AGAINST ('eponge') ;Code : Tout sélectionner
SELECT * FRom matable WHERE (MATCH (champs1,...,champs16) AND MATCH (champs17,...,champs32)) AGAINST ('eponge') ;