Voilà je dois réaliser un moteur de recherche comportant une recherche par mot clés. Quelle est la meilleur manière de stocker les mots clés dans la base?
Dois-je les stocker dans un champs mot_clés en les séparant par une virgule ou autre?
Voilà je dois réaliser un moteur de recherche comportant une recherche par mot clés. Quelle est la meilleur manière de stocker les mots clés dans la base?
Dois-je les stocker dans un champs mot_clés en les séparant par une virgule ou autre?
Je verrais plutôt une table mot_clef dans laquelle tu stockerais tes mots clef. Ainsi, si l'utilisateur fait une faute de frappe/d'orthographe dans le mot clef entré, tu peux toujours faire une recherche du mot clef approchant dans la table mot_clef grâce à la fonction SOUNDEX, et redémarrer la recherche à partir de là.
Tu pourras alors également regrouper tes mots clefs en champs sémantiques pour élargir ta recherche (par exemple, sous le champ sémantique "informatique", on trouvera des mots comme "ordinateur", "internet", "algorithme"...)
De cette façon, ta recherche pourras être plus complète.
"On en a vu poser les armes avant de se tirer une balle dans le pied..."
-- pydévelop
Derniers articles:
(SQL Server) Introduction à la gestion des droits
(UML) Souplesse et modularité grâce aux Design Patterns
(UML) Le Pattern Etat
Autres articles...
mais m'oblige à avoire un nombre de mots clés fixe, n'est il pas possible de mettre juste les mots clef dans un champs de type enum?
Pas du tout, ta table mot_clef servira surtout à améliorer la pertinence de ta recherche (correction de certaines fautes de frappe, élargissement de la recherche par "thèmes") en trouvant d'autres mots voisins dans le sens/l'orthographe.Envoyé par renofx1
En fait, tu stockes tes mots clefs dans un champs de ta table, sous forme d'une chaine où les mots sont séparés par des virgules et c'est sur ce champ (ou d'autres, comme la description) que tu effectue ta recherche.
Certainement pas !Envoyé par renofx1
Le type ENUM permet juste de limiter la valeur d'un champs à un certain nombre de propositions (64 au maximum), sous forme de chaines de caractères. En interne, ces chaines de caractères sont représentées par un entier, le 0 étant réservé aux cas d'erreur.
"On en a vu poser les armes avant de se tirer une balle dans le pied..."
-- pydévelop
Derniers articles:
(SQL Server) Introduction à la gestion des droits
(UML) Souplesse et modularité grâce aux Design Patterns
(UML) Le Pattern Etat
Autres articles...
ok, désolé j'avais pas compris,
donc en gros j'ai une table avec un champs pour le titre, un champ pour la description et un champs pour les mots clés séparés par une virgule?
C'est la solution qui répond le mieux à la majorité des problèmes (quand le nombre de mots-clef est potentiellement infini).
Maintenant, tu ne nous as pas exposé ce que faisait ton application (juste le fait que tu veux faire des recherches par mot-clef)
"On en a vu poser les armes avant de se tirer une balle dans le pied..."
-- pydévelop
Derniers articles:
(SQL Server) Introduction à la gestion des droits
(UML) Souplesse et modularité grâce aux Design Patterns
(UML) Le Pattern Etat
Autres articles...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager