Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3338 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Moteur de recherche

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Moteur de recherche

n°1575596
Deamon
Posté le 15-06-2007 à 15:12:11  profilanswer
 

Bonjour,
 
Je compte faire un site qui recense des recettes de cuisine avec un moteur de recherche en fonction des aliments et je me demande pour quelle solution opter pour la base de données (MySQL, et le site utilisera du PHP) entre les 2 suivantes :
 
- mettre la liste des ingrédient de la recette entière dans un champ text et ensuite pour rechercher par ingrédient on fais une recherche tout bête dedans.
 
ou bien  
 
- faire une table ingrédients (id, nomIngrédient), une recette (id, texteRecette) et une table d'association Ingredient_Recette (idRecette, idIngrédient, quantité). Ainsi quand on fait une recherche sur un aliment on récupère son id et on cherche dans la table d'association toutes les recettes qui ont cet ingrédient.
 
La dernière solution me semble plus efficace mais la table Ingredient_Recette risque de contenir énormément d'enregistrements et je ne sais pas si ça peut poser problème, s'il y a une limitation. De plus cette solution est plus complexe à gérer pour la partie où on ajoute des recettes car il faudra rentrer les aliments séparement et séparer également quantité et aliment.
 
Donc voilà laquelle est mieux ? Si la 2eme est vraiment plus efficace vaut-elle le coup d'etre implémentée avec les difficultés qu'elle comporte ?
 
Merci de me répondre.

mood
Publicité
Posté le 15-06-2007 à 15:12:11  profilanswer
 

n°1575613
skeye
Posté le 15-06-2007 à 15:46:38  profilanswer
 

la deuxième, sans hésiter un quart de seconde, la première est affreuse pour la recherche.


---------------
Can't buy what I want because it's free -
n°1575695
Deamon
Posté le 15-06-2007 à 18:19:42  profilanswer
 

ok et donc il faut que je crée ensuite un index sur idRecette et idIngrédient de la table d'association pour optimiser la recherche c'est ça ?

n°1575790
skeye
Posté le 16-06-2007 à 11:02:43  profilanswer
 

Deamon a écrit :

ok et donc il faut que je crée ensuite un index sur idRecette et idIngrédient de la table d'association pour optimiser la recherche c'est ça ?


étant donné que ce couple est la clé primaire de la table en question, ça me parait évident.


---------------
Can't buy what I want because it's free -
n°1575805
Deamon
Posté le 16-06-2007 à 12:15:18  profilanswer
 

Ok merci bien.
 
Et autre question : est-ce possible de gérer facilement les ingrédients dont le nom est parfois au pluriel et parfois au singulier ? Par exemple si on rentre une recette avec 1 pomme et une autre avec 2 pommes il faudrait que les deux soient reliés à l'aliment "pomme". Et si oui comment car là j'avoue que j'ai un peu de mal à voir comment mettre ça en place.

n°1575807
skeye
Posté le 16-06-2007 à 12:29:07  profilanswer
 

bah tu 2 champs dans ta table ingrédients, un pour le singulier, un pour le pluriel...ou alors tu te contentes de mettre un (s) à l'affichage si tu t'en fiches un peu...;)


---------------
Can't buy what I want because it's free -
n°1576117
MagicBuzz
Posté le 18-06-2007 à 10:29:57  profilanswer
 

Solution subsidiaire : tu proposes une liste des ingrédients connus plutôt que de laisser la main à l'utilisateur.
 
Du coup, pour simplifier, tu rajoutes une table "catégorie" pour les ingrédients, histoire de pouvoir séparer dans la liste les viandes, les légumes, les condiments, etc.

n°1576452
Deamon
Posté le 18-06-2007 à 18:37:17  profilanswer
 

MagicBuzz a écrit :

Solution subsidiaire : tu proposes une liste des ingrédients connus plutôt que de laisser la main à l'utilisateur.


c'est un des intérêts de la 2nde méthode.  :)


Message édité par Deamon le 18-06-2007 à 18:39:47
n°1576476
MagicBuzz
Posté le 18-06-2007 à 19:01:20  profilanswer
 

Oui, et ça résoud ton problème de "avec ou sans S" ;)

n°1576574
Deamon
Posté le 18-06-2007 à 23:50:05  profilanswer
 

MagicBuzz a écrit :

Oui, et ça résoud ton problème de "avec ou sans S" ;)


non le problème du "s" c'était pour l'affichage de la recette pas pour la recherche.

mood
Publicité
Posté le 18-06-2007 à 23:50:05  profilanswer
 

n°1576630
jeoff
Posté le 19-06-2007 à 09:51:54  profilanswer
 

Si c'est pour l'affichage, un bête test au niveau de php permettra d'afficher le 's' ou pas selon la quantité.
 
Sur le principe :
 
Si ( quantité > 1 ) alors
  ingrédient = valeur_BDD;
sinon
  ingrédient = valeur_BDD + "s"
Fin si


---------------
Mon blog séduction
n°1576645
casimimir
Posté le 19-06-2007 à 10:21:02  profilanswer
 

il faudra quand même un peu plus que ca sinon il va se retrouver avec des 100 gr de sels

n°1576715
jeoff
Posté le 19-06-2007 à 12:10:34  profilanswer
 

Exact :jap:


---------------
Mon blog séduction
n°1576731
MagicBuzz
Posté le 19-06-2007 à 12:47:09  profilanswer
 

La où ça devient coton, c'est aussi faire la différence entre :
 
1 olive
1 kg d'olives

n°1576740
skeye
Posté le 19-06-2007 à 13:01:24  profilanswer
 

MagicBuzz a écrit :

La où ça devient coton, c'est aussi faire la différence entre :
 
1 olive
1 kg d'olives


 
olives : 1
olives : 1 kg
 
[:doc petrus]


---------------
Can't buy what I want because it's free -
n°1576769
casimimir
Posté le 19-06-2007 à 14:04:22  profilanswer
 

c'est vrai que le choix de tout taper au pluriel: c'est pas bete, sinon faut carrement se garder une table de regle grammaticale, le truc completement con a modéliser ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Moteur de recherche

 

Sujets relatifs
Base de données photo avec moteur de recherche IPTCoptimisation de mon moteur de recherche pourrite
Moteur de recherche avec synonymesproblème: Pagination moteur de recherche
Moteur de recherche des contenusmoteur de recherche: affichage des résultats sur plusieurs pages
Booleen sur Moteur de Recherche ... c'est du SQL ?moteur de recherche et Flash (UTF8)
Moteur de recherche de bureau (Desktop Search Engine)[PHP/MySQL] Je sers la Science (moteur cataloguage recherche pdf)
Plus de sujets relatifs à : Moteur de recherche


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)