PULBOT Comment marche mon indexation

PULBOT Comment marche mon indexation - PHP - Programmation

Marsh Posté le 22-02-2007 à 23:07:36    

jukieng a écrit :

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
Reply

Marsh Posté le 22-02-2007 à 23:07:36   

Reply

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) :D
 
merci :jap:

Reply

Marsh Posté le 22-02-2007 à 23:13:51    

heu... en version compilée ca donne un executable de 175 ko ...


---------------
http://www.ypikay.com
Reply

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.


---------------
ilonet - Internet, Informatique et Webmastering
Reply

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


---------------
ilonet - Internet, Informatique et Webmastering
Reply

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 :
  1. 2007-02-22 23:41:58
  2. voir_requetes_torrent.php
  3. 205.237.xxx
  4. /voir_requetes_torrent.php
  5. 2007-02-22 23:41:57
  6. torrent.php?torrent=CALL%20OF%20JUAREZ%20KEY%20CODE
  7. 205.237.xxx
  8. /voir_requetes_torrent.php
  9. 2007-02-22 23:39:14
  10. voir_requetes_torrent.php
  11. 205.237.sss
  12. /voir_requetes_torrent.php
  13. 2007-02-22 23:39:13
  14. http://www.google.ca/search?hl=fr client=firefox-a channel=s rls=org.mozilla%3Aen-US%3Aofficial hs=sIM q=recherche+keygen+call+of+juarez btnG=Rechercher meta= 205.237.50.249 /voir_requetes_torrent.php
  15. 2007-02-22 23:39:03
  16. resultat.php?input= JOA 90.18.79.68 /resultat2.php
  17. 2007-02-22 23:38:54
  18. resultat2.php 90.18.79.68 /resultat.php?input=%20JOA


ca dépasse une connexion / minute ...
=> exigence de l'internaute et moi derrière, je pédale...


Message édité par erwan83 le 22-02-2007 à 23:56:12

---------------
http://www.ypikay.com
Reply

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>
 
<head>
<title>Titre de la page</title>
</head>
 
<body>
<h1>Ma page web !</h1>
<p>C'est ma page web !</p>
</body>
 
</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


---------------
ilonet - Internet, Informatique et Webmastering
Reply

Marsh Posté le 22-02-2007 à 23:58:06    

ok ok je vois le truc...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 23-02-2007 à 00:05:24    

donc 1 table pour chaque indexation si j'ai bien compris ?

Reply

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
... ... ...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 23-02-2007 à 00:09:21   

Reply

Marsh Posté le 23-02-2007 à 00:16:47    

erwan83 a écrit :

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
... ... ...


 
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]


---------------
ilonet - Internet, Informatique et Webmastering
Reply

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 :
 
http://erwann.conan.free.fr/exemple.jpg


Message édité par erwan83 le 23-02-2007 à 00:32:14

---------------
http://www.ypikay.com
Reply

Marsh Posté le 23-02-2007 à 08:16:48    

putain c'est exactement ce qu'il me faut :/

Reply

Marsh Posté le 23-02-2007 à 08:17:11    

erwan83 a écrit :

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
... ... ...


 
 
ok merci je saisi, pas con

Reply

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 !!!


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed