De:Domain-Extrahierung

Aus YaCyWiki
Wechseln zu: Navigation, Suche
Warning.png Aufgrund größerer Änderungen funktioniert die Domain-Extrahierung nicht mit aktuellen YaCy-Versionen (Stand 06.11.2007).

Domain-Liste und URL-Liste

Wenn nach einem Wort gesucht wird, gibt es häufig Domains, die dieses Wort enthalten und auf denen sich weiterführende und zutreffende Informationen zum Suchbegriff befinden. Diese Domains soll YaCy demnächst (Stand: 11.12.2005) als sogenannte "Quicktipps" anzeigen (siehe Suche auf Metager mit Quicktipps). Aufgrund des Wunsches von Benutzern von YaCy wurde eine weitere Option eingebaut, welche es ermöglicht, sämtliche in der Datenbank enthaltenen URLs zu extrahieren.

Wie werden sie extrahiert?

Die Domains werden aus der Datei "DATA/PLASMADB/urlHash.db" extrahiert, die alle URLs, über die dieser YaCy-Peer verfügt, und deren entsprechenden Hash, enthält.

ACHTUNG: Vor dem Start der Domain-Extrahierung muss YaCy unbedingt beendet werden, sonst droht eine starke Beschädigung der Datenbank!

Die Domain-Extrahierung wird über folgenden Aufruf im YaCy-Hauptverzeichnis gestartet:

java -classpath classes:lib/commons-pool.jar:lib/commons-collections.jar yacy -domlist [ -source { lurl | nurl | eurl } ] [ -format { text  | zip | gzip | html } ] [ Pfad zu "DATA"-Verzeichnis ]

YaCy erstellt nun eine Datei "domlist_[Datum].txt" im YaCy-Hauptverzeichnis, die alle in der Datenbank enthaltenen Domains enthält.

Die URL-Liste wird über folgenden Aufruf im YaCy-Hauptverzeichnis gestartet:

java -classpath classes:lib/commons-pool.jar:lib/commons-collections.jar yacy -urllist [ -source { lurl | nurl | eurl } ] [ -format { text | html } ] [ Pfad zu "DATA"-Verzeichnis ]

YaCy erstellt nun eine Datei "urllist.txt" im YaCy-Hauptverzeichnis, die alle in der Datenbank enthaltenen URLs enthält.

HINWEIS: Wenn man die Domains auf einem Windowssystem extrahiert, müssen die Doppelpunkte im Classpath durch Semikolons ersetzt werden.

HINWEIS zur Formatierung des Befehls: Sowohl eckige als auch geschweifte Klammern werden nicht mit übergeben sondern dienen lediglich als Hinweis für den Nutzer!

  • Die Angaben innerhalb eckiger Klammern sind optionale Parameter, das heißt, YaCy kann damit angewiesen werden, das Format der Liste zu ändern; die Standardeinstellung für "-source" ist "lurl" und für "-format" ist "text". Wird kein Pfad angegeben, so wird der im YaCy-Hauptverzeichnis liegende DATA-Ornder verwendet.
  • Die Parameter innerhalb geschweifter Klammern sind durch eine Pipe ("|") getrennt. Von ihnen darf nur einer benutzt werden!

  • "-format text": Die Liste wird als reine Text-Datei ausgegeben. (Standard bei keiner Angabe)
  • "-format html": Die Liste wird als Linksliste in HTML ausgegeben.

YaCy selbst wird während dieses Vorgangs nicht gestartet, sodass weder auf das Webinterface noch auf sonstige Funktionen von YaCy zugegriffen werden kann.

HINWEIS: Der Vorgang kann je nach Größe der "urlHash.db" und der JVM zugewiesenen Speicherkapazität einige Zeit in Anspruch nehmen. Eventuell reichen die voreingestellten 64 Megabyte nicht. In diesem Fall muss vor java noch der Parameter "-Xmx[gewünschte Größe]M" übergeben werden, um den maximal möglichen Speicherverbrauch zu erhöhen.

HINWEIS: Aufgrund der Kelondro-Bugs vor der Version 0.416 von YaCy kann es zu mehreren Fehlerhinweisen während der Ausführung der Extrahierung kommen. In einem ersten Schritt wird versucht, die beschädigten Einträge zu berichtigen. Kann dieser Schritt nicht ausgeführt werden, wird die Datei gelöscht.

Was passiert dann mit der Domain-Liste?

Obwohl es dem dezentralen Prinzip von YaCy nicht entspricht, wird darum gebeten, diese Daten dem Initiator des Projektes zu übermitteln, damit die ordnungsgemäße Funktion des Ranking-Algorithmus überprüft werden kann. Es ist noch nicht geklärt, wie die Quicktipps in YaCy implementiert werden sollen, jedoch müssen die bisher gesammelten Domains zusammengeführt werden, unabhängig davon, wie sie später verwendet werden!

Soll die Datei übermittelt werden, so empfieht es sich bei größeren Dateien, diese vorher noch mit einem üblichen Komprimierungsverfahren zu verkleinern. Um die Datei über die DHT-Distribution (und dementsprechend mehreren Anonymisierungsschritten) an den oben gennanten Entwickler zu senden, genügt es, sie in den Unterordner "DATA/RANKING/GLOBAL/010_owncr" von YaCy zu verschieben. Die Datei gelangt nun über mehrere andere Peers zu ihrem Ziel.

Achtung: Aus Sicherheitsgründen muß ab YaCy SVN Rev. 1367 der Filenamen der zu transportierende Datei mit "CRG" beginnen und mit ".cr.gz" enden. Anderfalls wird die Datei vom Zielpeer nicht empfangen.