Mesdames et messieurs les pros, bonjour !
Je suis en train de développer un petit site web qui me permettrait de stocker des documents (html, texte uniquement).
J'aimerais me faire un moteur de recherche afin de savoir quels sont mes documents où apparaissent tel ou tel mot.
Une donné importante du problème est que je vais avoir beaucoup de documents (rapidement 10 000 pages différentes).
Ainsi, niveau solution, la plus simple à développer serait de copier la totalité de chacun des textes dans ma base de données mysql... puis d'effectuer une recherche du type SELECT * FROM table WHERE texte LIKE %motRecherché% ;
Cependant, je n'arrive pas à évaluer la puissance de MySQL. Est-il capable de gérer une requête devant aller chercher dans 10 000 champs différents, sachant qu'ils seront parfois très longs, et tout cela rapidement (5 secondes grand max)?
J'avais imaginé aussi parser les documents pour rechercher le mot voulu mais je pense que le soucis sera le même, puisqu'il faudra ouvrir la totalité des 10 000 documents.
Pouvez-vous m'indiquer la viabilité de la chose et, dans le cas échéant, une solution adaptée à mon soucis?
Petite question bonus, je ne parviens pas à trouver la possibilité de compter le nombre de fois qu'un mot est présent dans un champ dans ma base de données. Là où est l'ambiguïté, est que je peux très bien faire un COUNT sur toute ma table mais, je voudrais que ma requête compte, pour chaque texte stocké, le nombre de fois qu'un mot apparaît.
Merci infiniment de votre aide, je suis certain qu'elle me sera très précieuse.
David
Partager