php laufzeit

crazy_chicken

Erfahrenes Mitglied
Hallo Zusammen,

schon wieder mal eine Frage:

Ich habe mal eine Suchfunktion für die internetseite implementiert. Diese funktioniert nicht mit der Datenbank, sondern startet auf einer angegebenen Seite, sei diese z.B. die Indexseite und von da aus liest den Inhalt der Seite, filtert die weiteren URLS raus und packt diese in eine liste rein. Dann durchlauft er diese seiten genauso.

Jetzt frage ich mich ob man das irgendwie effizienter machen kann. Eine Liste ist ja total ineffizient, vielleicht mit Hashtabelle oder so? Oder einfach mit der Datenbank? Will ungern mit DB machen.

Wie macht das das denn google? Läuft das denn bei denen uber php, java oder komplett was eingenes?;)


Für diejenigen die immer wieder unnötig posten:
Ich habe nicht vor eine Suchmaschine zu programmieren, die besser ist als google. :D
 
Hi

inwiefern findest du eine verkettete Liste ineffizient?

Nur um sicher zu gehen dass ich es richtig verstanden habe:
Es geht nur um die abzuarbeitenden Adressen in der Liste,
die werden eine nach der anderen eben abgearbeitet.
 
Hi,

Ja sicher. Ich meine es natürlich anders, hab mich falsch ausgedrückt. Es kommen immer wieder urls dazu und wenn da 100 urls sind, jedes mal zu prüfen ob diese bereits abgearbeitet wurde muss ich fuer jede url die liste komplett durchlaufen.

Hoffentlich jetzt ist das verständlicher.
 
Deine Frage scheint mir darauf hinaus zu laufen, wie man möglichst schnell eine vorhandene Menge an Daten überprüft, ob der Suchstring (oder eben die zu prüfende URL) schon vorhanden ist.

Ich könnte dir Skiplist als Datenkonstrukt anbieten (http://en.wikipedia.org/wiki/Skip_list) oder
Dynamisches Perfektes Hashing Lange Url von arl.wustl.edu

Das Thema ist äußerst komplex und an Universitäten gibt es ganze Vorlesungen - ja plural - über dieses Thema (und natürlich angrenzendes).
 
Ja, ich dachte vielleicht gibt es mal eine fertige lösung von php.
Ich suche gleich bei uns ob wir als wahlfach sowas im angebot haben zum vertiefen. ;)
 
Ja, ich dachte vielleicht gibt es mal eine fertige lösung von php.
Ich suche gleich bei uns ob wir als wahlfach sowas im angebot haben zum vertiefen. ;)
Du wirst wohl eher keine fertige Lösung finden. Nicht sehr viele Personen schreiben Webcrawler. Das könnte aber ein Stichwort sein, mit dem du weiter kommen könntest.

Vermutungen gehen Richtung Python und C++, aber wirklich bekannt ist das irgendiwe nicht...
Falls du, crazy_chicken, interesse in dieser Richtung hast, wäre BigData das Thema, sehr interessante Sache.
 

Neue Beiträge

Zurück