MATCH AGAINT versus LIKE
Posté : 11 oct. 2005, 10:13
Bonjour à tous,
Je désire créer un moteur de recherche qui chercherait dans les champs VARCHAR et TEXT de ma base de données. On doit pouvoir utiliser les booléens, la troncature. La base étant petite pour le moment (une centaine d'entrées toutes tables confondues), je dois pouvoir faire des recherches sur un nombre faible de réponses et sur des mots d'au minimum trois lettres (pour les sigles qui sont très importants).
J'ai lu qu'il y avait plusieurs méthodes possibles.
La première consiste à créer un index avec ALTER TABLE... ADD FULLTEXT. Puis à créer une requête sur cet index SELECT... FROM... WHERE MATCH AGAINST... IN BOOLEAN MODE.
Avantages: il prend en compte les booléens. Inconvénients: je crois qu'il ne prend pas en compte un faible taux de réponses et les mots inférieurs à quatre ou cinq lettres.
La seconde consiste à utiliser une requête avec SELECT... FROM...LIKE.
Je n'ai pas réussi à déterminer les contraintes, les inconvénients et les avantages que cette méthode pouvait m'apporter.
Est-ce que vous auriez des informations complémentaires sur le sujet? Quelle méthode me conseilleriez-vous dans mon cas?
Merci par avance.
P.S.: j'ai déjà consulté le manuel et la doc sur http://omiossec.developpez.com.
Je désire créer un moteur de recherche qui chercherait dans les champs VARCHAR et TEXT de ma base de données. On doit pouvoir utiliser les booléens, la troncature. La base étant petite pour le moment (une centaine d'entrées toutes tables confondues), je dois pouvoir faire des recherches sur un nombre faible de réponses et sur des mots d'au minimum trois lettres (pour les sigles qui sont très importants).
J'ai lu qu'il y avait plusieurs méthodes possibles.
La première consiste à créer un index avec ALTER TABLE... ADD FULLTEXT. Puis à créer une requête sur cet index SELECT... FROM... WHERE MATCH AGAINST... IN BOOLEAN MODE.
Avantages: il prend en compte les booléens. Inconvénients: je crois qu'il ne prend pas en compte un faible taux de réponses et les mots inférieurs à quatre ou cinq lettres.
La seconde consiste à utiliser une requête avec SELECT... FROM...LIKE.
Je n'ai pas réussi à déterminer les contraintes, les inconvénients et les avantages que cette méthode pouvait m'apporter.
Est-ce que vous auriez des informations complémentaires sur le sujet? Quelle méthode me conseilleriez-vous dans mon cas?
Merci par avance.
P.S.: j'ai déjà consulté le manuel et la doc sur http://omiossec.developpez.com.