PULBOT Comment marche mon indexation - PHP - Programmation
Marsh Posté le 22-02-2007 à 23:12:02
resalut !
j'aimerais bien voir ton code source d'indexation (vu que je suis entrain d'en réaliser un aussi)
merci
Marsh Posté le 22-02-2007 à 23:13:51
heu... en version compilée ca donne un executable de 175 ko ...
Marsh Posté le 22-02-2007 à 23:39:59
erwan83 a écrit : heu... en version compilée ca donne un executable de 175 ko ... |
Tu utilises quel langage pour ton indexation ?
Sinon, quand est il au niveau des performances ? Par exemple, si tu indexes des pages en local (pour que la limitation liée au débit ADSL ne rentre pas en compte), tu arrives à indexer combien de Mo / seconde ?
Et sinon, petite suggestion : d'après les scripts que tu as donné dans ton précédent topic, tu as l'air de sauvegarder l'intégralité de la page web dans une seule d'une table, ce qui t'oblige après à utiliser des LIKE tout moches. Ne serait-il pas plus astucieux de découper tes pages et de les sauvegarder dans une table du type (réaliser un vrai index en fait) :
mot | site web
Ce te permettrait ensuite de faire des recherche vraiment simples et rapides.
Marsh Posté le 22-02-2007 à 23:42:33
Ah oui au fait, pour ceux qui auraient loupé la "première partie" de ce topic, voici un lien direct :
http://forum.hardware.fr/hfr/Progr [...] 1419_1.htm
Marsh Posté le 22-02-2007 à 23:43:27
en gros je balance une page par seconde mais j'ai tellement d'url en base de donnée que souvent ce sont les mêmes pages qui sont re-indexées.
Quant au concept de mot - url je ne saisis pas bien.
Tu veux dire que pour chaque mot clé je dois faire correspondre une liste d'url ?
j'ai dépassé les 100 000 url scannées...
ca risque d'etre chaud !
Donc pour la petite histoire, bande de petits joueurs, j'ai développé mon premier programme en VB il y a 8 ans pour une grosse "société" du gouvernement français et depuis je dois dire que j'aime bien le VB mais ce site, je le fais comme ça, pour mon plaisir personnel.
Au départ je voulais me frotter aux controles inet de VB (grosses merdes, soit dit en passant, bon je l'ai dit)
puis j'ai eu l'idée de faire ce site PERSO
puis hier, Mr Bill Gates est passé sur mon site (si si si adresse IP de Microsoft :) ) mdr
donc c'est un site PERSO je sais je l'écris en gros parce que ça, beaucoup de gens ne l'ont pas compris
le problème, le voila :
Code :
|
ca dépasse une connexion / minute ...
=> exigence de l'internaute et moi derrière, je pédale...
Marsh Posté le 22-02-2007 à 23:53:07
Le nombre de ligne serait beaucoup plus important, mais en terme de poids, ça reviendrait exactement au même.
Et puis, je t'ai donné un principe, il faut l'améliorer. Par exemple, pour éviter les redondances, on peut imaginer un schéma du type :
TABLE url
- id_url
- adresse_url
TABLE mot
- id_mot
- mot
TABLE url_mot
- id_mot
- id_url
C'est un schéma de base... A toi de voir si tu ne peux pas l'optimiser ou le fignoler, pour y ajouter par exemple l'importance du mot (selon l'endroit ou il se trouve dans une page, et le nombre de fois ou il revient), etc...
Donc si tu as une page du type :
http://exemple.rien/mapage.html
Citation : <html> |
Ta base de données deviendra, après avoir supprimé les balises et mots ininteressants :
TABLE url
id_url / adresse_url
1 / http://exemple.rien/mapage.html
TABLE mot
id_mot / mot
1 / titre
2 / page
3 / web
TABLE url_mot
id_mot / id_url
1 / 1
2 / 1
3 / 1
Marsh Posté le 22-02-2007 à 23:58:06
ReplyMarsh Posté le 23-02-2007 à 00:05:24
donc 1 table pour chaque indexation si j'ai bien compris ?
Marsh Posté le 23-02-2007 à 00:09:21
non, la premiere table indexe les url => url unique donc index unique
la deuxieme indexe les mots => meme probleme
ensuite la troisieme table fait un recoupement pour chaque mot des url qui le contiennent
ex : si le mot chien est le 5eme mot integré, et que tu le trouves dans l'url 1 et url 5 et url 14 =>
tu auras
5 ! 1
5 ! 5
5 ! 14
... ... ...
Marsh Posté le 23-02-2007 à 00:16:47
erwan83 a écrit : non, la premiere table indexe les url => url unique donc index unique |
Exactement.
Sinon, tu pourrais aussi regarder du coté de Sphinxsearch : c'est un moteur de recherche open-source.
Le principe est légèrement différent de ce que tu es en train de faire, car ce moteur créé un index à partir du contenu d'une base de données, pour ensuite faciliter la recherche "interne" sur un site web (donc il ne suit pas les liens, et ne parse pas directement les pages web : il puise directement dans la base de données.). Toutefois, tu pourrais regarder de plus près leur méthode d'indexation qui d'après ce que j'ai pu entendre, est très performante.
http://www.sphinxsearch.com [en]
Marsh Posté le 23-02-2007 à 00:20:46
Yo bon vais me coucher moi !
J'espere reprendre ce topic des ce week end, si le temps est pourri :)
voici la bete en plein travail :
Marsh Posté le 23-02-2007 à 08:16:48
ReplyMarsh Posté le 23-02-2007 à 08:17:11
erwan83 a écrit : non, la premiere table indexe les url => url unique donc index unique |
ok merci je saisi, pas con
Marsh Posté le 23-02-2007 à 11:51:04
Mxtrem a écrit : putain c'est exactement ce qu'il me faut |
Ah oui ???
fo voir !!!
Marsh Posté le 22-02-2007 à 23:07:36
Comment est fait ton indexation ?
Un bête "parsage" des pages google, ou un véritable bot qui parcoure les pages, suis les liens, analyse les pages, etc... ?
Si c'est la seconde méthode, ça à au moins le mérite d'être assez enrichissant pour un débutant ;)
En fait j'ai concu un moteur qui scanne une liste d'URL
il retient tous les liens et indexe les pages visitées selon un certain nombre de critères
Et pour répondre à la question, non ce n'est pas du parsing de Google.
Le moteur enregistre uniquement le TEXTE des pages web, plus description, titre et mots clés, ce qui est relativement casse tête : une page de Tchatcheblog a sa construction qui n'est pas la même que la page de blogspot, qui n'est pas la même que etc etc
donc pour chaque cas, une routine différente de recherche
et apres le tout est envoyé sur la base de données
SVP JE SAIS JE GUEULE MAIS SVP NE ME SALOPEZ PAS CE TOPIC AVEC VOS REFLEXIONS SI ELLES SONT SANS INTERET !
MERCI
Harkonnen a décidé de fermer le topic précédent vue la tournure que ca prenait !
Erwan
Message édité par erwan83 le 22-02-2007 à 23:08:48
---------------
http://www.ypikay.com