P2P-Suchmaschine

Version 48, 80.128.200.233 am 6.10.2006 22:43

Diese Seite ist als Materialsammlung und Diskussion gedacht, ob und wie eine P2P-Suchmaschine funktionieren könnte. Um die Frage zu präzisieren: Ist eine Peer2Peer Anwendung möglich die die Funktionalität von Google bereitstellt ?

News

Artikel in Telepolis über Nutch : http://www.heise.de/tp/deutsch/special/wos/17592/1.html


Am gestrigen Montag hat sich der "Verein zur Förderung der Suchmaschinentechnologie und des freien Wissenszugangs", kurz SuMa-eV, konstituiert. Seine Gründung ist eine Reaktion auf die zunehmende Konzentration im Suchmaschinenmarkt, die sogar den Bundestag beschäftigte. Der Verein sieht in der Machtposition einzelner weniger Unternehmen eine Gefährdung des freien Zugangs zum Wissen. Suchmaschinen kontrollieren unter anderem, in welcher Reihenfolge und damit Bewertung die Ergebnisse einer Recherche beim Nutzer angezeigt werden (Ranking), welche Informationen verfügbar und welche nicht zugänglich sind.

Gerade die Reihenfolge der Ergebnisse ist von außerordentlich hohem kommerziellen Interesse, so der SuMa-eV. Diese Bewertung sollte jedoch an der Sache orientiert und dem gesellschaftlichen Interesse verpflichtet sein. Sie sollte unabhängig von Interessen einzelner Unternehmen und Parteien erfolgen, so die Idealvorstellung des neuen Vereins.

Der Verein will politisch aktiv werden, um öffentliche und politische Unterstützung zu erlangen und Fördermittel und Spenden für konkrete Projekte akquirieren. Fernziel ist der Aufbau einer dezentralen und kooperativen Suchmaschinen-Struktur in Deutschland als Alternative zu den kommerziellen Anbietern Google und Co.

Initiatoren des Vereins sind Wolfgang Sander-Beuermann, als Projektleiter Suchmaschinenlabor im regionalen Rechenzentrum für Niedersachsen (RRZN) der Vater der Metasuchmaschine MetaGer, und sein ehemaliger Chef, Professor a.D. Helmut Pralle. Als Schirmherr und weiteres Gründungsmitglied konnten sie unter anderem den MP3-Erfinder Karlheinz Brandenburg gewinnen. Auf der Homepage des Vereins können sich Interessierte über den SuMa-eV informieren. (jo/c't)

Problemstellung

Die Google-Zahlen sind Dez 2003 von http://www.google.com/press/funfacts.html übernommen. Sie sind hier als Denkmaterial in Sachen Größenordnung angegeben. Ein gut funktionierendes P2P-System sollte eher mehr finden.

Ansätze

Verteiltes Wissen: Jeder Knoten spezialisiert sich auf einen bestimmten Teilbereich von Suchworten (Z.B alsa - Alster) von denen er direkt einen Index hat. Außerdem hat er eine Liste von Knoten die insgesamt einen größeren Bereich abdecken (z.B Akne-Alzheimer). Als Beispiel nehmen wir an, der Bereich ist hundertmal so groß d.h. sicherheitshalber muß sich unser Knoten zweihundert hosts merken. Diesen größeren Bereich ist dann indirekt abgedeckt. Auf der nächsten Ebene hat er eine liste von Knoten, die insgesamt einen noch größeren Bereich indirekt abdecken, usw. Wenn man mit einem Index von tausend Suchworten anfängt, hat bei 10hoch13 Suchworten (3*Google) fünf Ebenen. Das bedeutet: Tausend Knotenadressen merken und fünf Weiterleitungen bei jeder Suchanfrage.

Detail: Bei tausend Suchworten im Index jedes Kontens bräuchte man minimal zehn Milliarden Knoten, damit das System überhaupt funktioniert. Das sind zuviele, um je in die Gänge zu kommen. Besser wirds, wenn die Bereiche unterschiedlich viele Suchworte beinhalten, je nach Gewicht. z.B "internet" (Google: ca 167 Mio Einträge) hat viel Gewicht, "fronzt" (Google: 2 Einträge) hat wenig Gewicht. Hier eine Überschlagsrechnung wieviele knoten man wirklich braucht: Gehen wir mal davon aus, daß es ein paar Terabyte an Textinformation im Internet gibt. Der gesamte Index wird um einen kleinen Faktor größer sein, je nach Datenstruktur. Das wären dann z.B zehntausend hosts je 1GB. Nicht wenig, aber gerade noch denkbar daß man die für den Anfang zusammenbekommt.

Verteiltes Crawlen: Jeder Knoten crawlt in einem Teil des www, ebenfalls hierarchisch geordnet (http://www.grub.org/ verteilt es geographisch um die Netzlast zu minimieren). Alle Suchworte die er dabei findet, gibt er an alle Peers weiter, die er bei einer Anfrage danach fragen würde. Diese reichen das an die jeweiligen Spezialisten weiter.

Verteilter Service: Jeder Knoten kann alle Anfragen beantworten, indem er sie an die entsprechenden Peers weitergibt, siehe "Verteiltes Wissen". Kombination von mehreren Suchworten: Solange da wenig Einträge je Suchwort sind, kann man einfach alle Indizes anfordern und gegeneinader abgleichen. Wenn man ein Suchwort A mit vielen Einträgen UND-verknüpft mit einem Suchwort B mit wenig Einträgen, dann kann man den Index für B zum Abgleich an den Spezialisten für A schicken. Etwas ratlos bin ich bei UND-Verknüpfungen von mehreren "großen" Suchworten.

Ranking: Zunächst mal ist es genau wie bei Google möglich, für jede Seite beim crawlen einen Page Rank aus der Link-Topologie des Web zu errechnen. ich nenne das mal "absolutes Ranking". Der Vorteil daran ist, daß man den Index nach Page Rank ordnen kann. Dann kann man sich bei Suchanfragen mit vielen Ergebnissen auf Seiten mit hohem Page Rank beschränken und so den Traffic reduzieren. Das Problem an absolutem Ranking ist, dass es dazu neigt gespammt zu werden. Insbesondere in unserem Setting muss der Rankingalgorithmus öffentlich bekannt sein. Deshalb lässt sich stets Spam produzieren, der hoch gerankt wird. Ein möglicher Ausweg ist PeerRanking. Das Problem an PeerRanking ist in unserem Kontext, dass man den Index nicht danach ordnen kann (siehe oben). Vielleicht tuts ja eine Kombination aus absolutem Ranking und PeerRanking.


Links


Diskussion

OffeneFragen: wie sieht ein P2P-Algorithmus aus, der die Anfrage "linux AND alzheimer AND bh" in einer vernünftigen Zeit beantwortet? Einträge bei Google:

linux: ca 63000000 alzheimer: ca 2100000 bh: ca 3850000 linux alzheimer: ca 22400 alzheimer bh: ca 10700 linux bh: ca 77500 linux alzheimer bh: ca 65

Es reicht, je Eintrag einen 8 Byte Hashwert der Url zu übertragen, dann bleiben die Kollisionen in erträglichem Maßstab. Aber dann wären es immer noch 16MB für den kompletten Index von "alzheimer", das sind via DSL immer noch 3 Minuten, also zuviel. --MaxKy

Ganz einfach -:) : nicht den Index "Alzheimer" bei anderen Knoten nachfragen, sondern alle Knoten nach allen Stichworten abfragen. --ThomasKalka

Und dann? Im obigen Modell müssen doch die spezialisierten Indizes irgendwie verknüpft werden. Wenn man die Spezialisierung weglässt und einfach alle Knoten nach allem fragt, dann explodieren die Anfragen (siehe 'Hohes Anfragevolumen' in der Problemstellung) oder es leidet die Vollständigkeit. --MaxKy


Eventuell wäre diese Seite im DSEWiki besser aufgehoben ? --ThomasKalka

Wahrscheinlich ja. Worauf ich eigentlich raus wollte, habe ich erst jetzt unter PeerRanking aufgeschrieben. Paßt schon besser ins coforum, oder? Bin aber auf jeden Fall mit einem Umzug einverstanden. --MaxKy


Hallo, ich hab auch schon mit der Entwicklung einer P2P-Suchmaschine begonnen. Das Projekt basiert auf einem Caching Proxy und ist schon fortgeschritten. Das Indexing des Proxy Cache und suchender Zugriff funktioniert bereits. Ich glaube das Problem der verteilten Indizierung und dessen Aufwand der Organisation des Indexzugriffes geloest zu haben. Siehe dazu die Dokumente im angegebenen Link. Ist open Source, GNU-Lizenz, die Homepage auf http://www.anomic.de/AnomicHTTPProxy/index.html Jede Art der Mitarbeit ist willkommen. Michael Christen


Wozu den Index von Google nochmals als P2P aufbauen? Reicht es nicht nur die Seiten zusätzlich zu indizieren, die NICHT in Google (und anderen) vorhanden sind? Nur so eine Idee...


Was sich hier ablesen läßt, ist der offensichtliche, ähnelnde Aufbau der nervlichen Denkleitleistung im such~n und versfinden. Und da dies so ist, kann ich daran weiterphantasieren, daß unsere Vorstellung des Gedankensuchens auch nur ein Abbild in Zeit ist. Aber es wiedererholt sich an sich zu erinnern. Der Unterschied der suchmaschine mit der ureigendsten Erinnerung ist, daß ein Menschenwesen auch noch die Anweisung "suche auch Ergebnisse, die überhaupt nichts mit dem Suchbegriff zu tun haben und vergleiche!" bewältigen kann; anfrage bleibt Anfrage und Antwort bleibt Antwortlosigkeit, darin leuchtet eine Verbindung, die nicht die Suchmaschine machen kann, weil eine Suchmaschine nicht dazu da ist, ins unendliche hineinzusuchen, sondern in die eigene endlichkeit (mit anschließender Projektion in die Vorstellungswelt des Suchmaschinennutzers). Facit, es ist interessant wohin es uns ein~googelt, weil wir da nur reinkamen, weil wir rauskommen (möchten), weil wir glaubten ein suchmaschine kann uns finden, weil wir suchen, weil uns der suchende finden soll, damit wir uns nicht selber finden suchen müssteln. --UweB

p2p heißt für mich in erster linie zusammen-arbeit der wikis untereinander . also eine art wiki-google auf einem server, eine gemeinsane seiten-verwaltung auf dem andern . bilder auf dem dritten, spezielle verknüpfungen auf dem vierten, fünften, sechsten .. . das sollte für die nächste zukunft vollauf genügen .
die funktionalität von google kann man auch schon für ein einzelnes wiki bereitstellen . und könnte dann gleich versuchen, sie zu verbessern . grundlage wäre das once and only once prinzip und der verknüpfungs-gedanke (baum-l). allerdings brauchte man dazu ein völlig neues browser-prinzip um die struktur (z.b. auch die rück-zeiger) direkt zu browsen .
zunächst mal wird jeder satz direkt in einen baum verwandelt, so wie er da steht . das bedeutet aber auch, dass der satz in eine klammer-struktur verwandelt wird und hier ergibt sich schon die erste große aufgabe . wie kommt man zu einer sinnvollen klammer-struktur ? hier geht es über die syntax hinaus und wir brauchen eine grammatische analyse . na ja, so weit erst mal .

sigi (2006-01-13)

Neue Seiten im Kontext

Samstag, 3. September 2005