Quelqu'un peut-il m'orienter dans la bonne direction? Je n'ai vraiment pas d'expérience dans l'écriture de code mais j'apprends vite. Je n'essaye pas de dire que ce sera facile mais j'espère que quelqu'un pourra m'aider ...
Quelqu'un peut-il m'orienter dans la bonne direction? Je n'ai vraiment pas d'expérience dans l'écriture de code mais j'apprends vite. Je n'essaye pas de dire que ce sera facile mais j'espère que quelqu'un pourra m'aider ...
Réponses:
J'ai écrit ceci pour un blog que j'avais l'habitude de remonter quand .... ce n'est plus sur le web donc .. le voici! :
Comment écrire un moteur de recherche
Darren Rowse sur probolgger.net organise un projet d'écriture de groupe sur tout "Comment faire". C'est l'un des rares blogs que je lis régulièrement, alors je pense pourquoi ne pas écrire quelque chose qui vaut la peine d'être lu pour changer, plutôt ma diatribe violente standard où je finirai par menacer de poignarder Hugo Chaves dans la gorge.
J'ai décidé d'écrire "Comment écrire un moteur de recherche". J'ai choisi ce sujet pour deux raisons:
Mon client est un détaillant en ligne de taille importante, donc je ne recherche pas tout le Web uniquement sur son site, plus précisément sur les produits à vendre sur son site. Néanmoins, les mêmes techniques peuvent être utilisées pour rédiger une technique plus complexe utilisée pour la recherche sur Internet. Je sais que ce n'est pas un blog technique, donc je n'entrerai pas trop dans les détails techniques, je ne discuterai pas non plus du matériel \ des besoins en puissance de traitement, ni de l'exploration Web.
J'utilise une technique assez simple, j'ai une table (tblKeywords) avec trois champs:
La première chose que je fais est de collecter des mots individuels de n'importe quel endroit pertinent. Pour mon client, je tirerai les mots du tableau des produits. Plus précisément à partir des champs Itemid, ItemName, ItemShortDescription, ItemLongDescription, Manufacturer, ManufacturerSKU, Category1, Category2, Category3 ect. Si vous indexez des pages Web, vous pouvez extraire des données du texte de la page, du titre de la page, de l'URL ou des liens sur d'autres pages qui renvoient vers la page en cours d'indexation.
La valeur de poids est déterminée par l'origine du mot clé. Par exemple, dans mon cas, le SKU de la fabrication de l'article obtiendrait un poids de 100, tandis qu'un mot du nom de l'article pourrait avoir un poids de 25. Un mot de la ItemLongDescription peut avoir un poids de 5. Si vous indexez des pages Web, les mots du titre de la page peut avoir un poids de 75 tandis qu'un mot en gras du texte de la page peut avoir un poids de 10. Si un mot est répété plus d'une fois ou \ et à plus d'un endroit, vous additionnerez le poids à chaque fois ça arrive. Par exemple, si le mot «chemise» vient de deux endroits pour ItemId = 12345, le nom d'article (poids de 25) et apparaît deux fois dans ItemLongDescription (poids de 5 x2 = 10), le mot «chemise» aurait un poids total de 35 pour ItemId = 12345.
Si quelqu'un recherche «chemise rose», je recherche dans ma table toutes les occurrences des mots «rose» ou «chemise» et totalise les poids. Affichage des articles avec le poids total le plus élevé sur le dessus.
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
Alors voilà, un moteur de recherche basique (et rapide). Bien sûr, il y a plus à faire, comme la ponctuation rayée, le code HTML et des mots-clés sans valeur tels que "et", "si", "ou". Cela ne concerne pas la recherche de phrases clés, mais vous pouvez utiliser un système similaire pour les phrases si vous pouvez comprendre où elles commencent et se terminent.
Le projet d' introduction à la recherche d'informations, distribué gratuitement, sera votre principal document de référence. Il gère la recherche (récupération d'informations) du niveau de base au niveau avancé.
Les moteurs de recherche sont construits sur des robots d'exploration Web , vous devrez trouver comment construire l'un de ces ventouses avant de pouvoir développer un site Web pour afficher ses résultats (vous aurez besoin d'une base de données rapide et efficace pour l'accompagner).
Construire un moteur de recherche
Ceci est un cours d'introduction à CS qui va commencer le 20, je vous suggère de le vérifier, il est offert gratuitement.