De:FAQ

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemein

Worum geht es?

YaCy ist eine verteilte Suchmaschine, die auf ein Peer-To-Peer-Netzwerk basiert.

Was ist ein Proxy?

Ein Proxy (von engl. „proxy representative“ = Stellvertreter, bzw. lat. „proximus“ = der Nächste) ist eine Kommunikationsschnittstelle in einem Netzwerk. Er arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite herzustellen - Quelle: Wikipedia.
YaCy ist ein sogenannter Caching-Proxy. Bei diesem werden aufgerufene Elemente (Grafiken, HTML-Dateien etc.) zwischengespeichert. Beim erneutem aufrufen diese Elemente werden diese aus dem Proxy-Cache geladen. Dadurch wird die Netzwerklast verringert und die Anfragen können schneller bearbeitet werden. Weitere Informationen zu dem in Yacy enthaltenen Proxy sind in dem Artikel YaCy Proxy enthalten.

Was bedeutet indexieren?

Indexieren bedeutet, eine Webseite in die darin enthaltenen Worte aufzuteilen. Diese Wörter werden zusammen mit der URL der Webseite in einer Datenbank gespeichert. Wenn man dann nach diesen Wörtern sucht, können alle Webseiten, die diese Wörter enthalten, schnell gefunden werden.

Was ist eine DHT?

DHT ist das Akronym für Distributed Hash Table (verteilte Hashtabelle). Eine DHT ist die Datenstruktur, in welcher der Index eines YaCy Suchnetzes organisiert ist. Mit dieser Datenstruktur wird das Problem gelöst, dass YaCy bei der Suche sehr schnell herausfinden muss, auf welchem Peer sich der für die Suchbegriffe benötigte Teil des Index befindet. Eine ausführliche Beschreibung findet sich bei Wikipedia.

Was heißt crawlen?

Ein sogenannter Crawler beginnt mit einer Seite und folgt dann allen Links bis zu einer bestimmten Tiefe (manchmal auch unbegrenzte Suchtiefe). Das ist die Methode, die die meisten herkömmlichen Suchmaschinen verwenden um Inhalte zu erschließen. Über diesen Weg kann eine komplette Web-Seite indiziert werden, ohne alle Unterseiten einzeln zu besuchen.

Was ist ein P2P Netz?

P2P heißt Peer-to-Peer. Das bedeutet, dass die Rechner (Peers) nicht von einem zentralem Server abhängen, sondern gleichberechtigt ein Netzwerk bilden.

Was ist ein Peer?

Als Peer (engl. für „Gleichgestellter“, „Ebenbürtiger“) wird ein Endpunkt einer Kommunikation in einem Computernetzwerk bezeichnet. Jeder Peer bietet dabei seine Dienste an und nutzt die Dienste der anderen Peers. (Quelle: wikipedia) In YaCy wird als Peer ist eine YaCy Instanz bezeichnet, welche mit einem YaCy Suchnetz verbunden ist.

Was ist der RWI?

RWI ist das Akronym für Reverse Word Index. Dieser wird vom Indexer aus den gesammelten Daten erzeugt und speichern in der Datenbank abgespeichert.

Ist P2P nicht illegal?

Nein.
P2P (Peer-to-Peer) beschreibt nur die Technik, wie die Computer untereinander die Daten austauschen. Hierbei kommt es auf die Daten an, die über ein solches Netzwerk ausgetauscht werden. Nur weil man über P2P-Tauschbörsen illegal Dateien tauschen kann, ist die dafür verwendete Technik nicht auch illegal. Zudem ist YaCy keine P2P-Tauschbörse.

YaCy Allgemein

Was hat es mit globalem und lokalem Index auf sich?

Sobald man den Proxy verwendet, wird automatisch mit den indizierten Daten ein lokaler Index erstellt. Aber erst wenn das Programm eine Verbindung zum YaCY-Netz hat, kann man auf den globalen Index zugreifen. Dieser ist sozusagen die Kombination aller lokalen Indexe.

I am not a technican. Can I install YaCy easily and use it to index my own web pages?

Die Installation von YaCy ist sehr einfach. Es werden weder Fachwissen noch zusaetzliche Software benoetigt, ebenso wenig muss eine extra Datenbank installiert werden. Das indizieren der eigenen Webseiten ist ebenfalls sehr einfach: Einfach crawlen und die DHT Distribution und DHT Receive ausschalten um den Index der eigenen Seite auf dem eigenen Peer zu belassen.

Can I crawl and index the web with YaCy?

Ja. Es kann ein eigener crawl gestartet werden und es ist auch moeglich einen verteilten crawl zu starten, das bedeutet das der eigene YaCy Peer andere Peers mit speziellen crawl Auftraegen beauftragt. Dies kann durch eine grosse Anzahl von Parametern fuer einen limitierten Satz an Webseiten beeinflusst werden.

Is there a central server? Does the search engine network need one?

Nein. Die YaCy Netzwerkstruktur benoetigt keinen zentralen Server und es gibt auch keinen. Es gibt aktuell 4 sogenannte seed-list Server welche hart in den Sourcecode geschrieben wurden, da sie die hoechstverfuegbaren Server sind und sehr akkurate Seed List Informationen bieten (weitere Details in der FAQ)

Search Engines need a lot of terabytes of space, don't they? How much space do I need on my machine?

The global index is shared, but not copied to the peers. If you run YaCy, you need an average of the same disc memory amount for the index as you need for the cache. In fact, the global space for the index may reach the space of Terabytes, but not all of that on your machine!

Do I need a fast machine? Search Engines need big server farms, don't they?

You don't need a fast machine to run YaCy. You also don't need a lot of space. You can configure the amount of Megabytes that you want to spend for the cache and the index. Any time-critical task is delayed automatically and takes place when you are idle surfing (this works only if you use YaCy as http proxy).

How long does a search take?

Time for a search depends on many factors. One is, if you perform a local-only search or a global DHT-based search. Another factor comes in place when enable search heuristics. A third and important factor is if you have already searched for it often (short time between two same searches), in this case the search may still be cached. Another factor is if the parameter verify=true, if so the fetched HTML snippet got verified, say fetched again. If you use verify=false this may give you less accurate search results (wrong maybe) but they are way faster.

In general YaCy's architecture does not do peer-hopping, it also doesn't have a TTL (time-to-live). It is expected that search results are instantly responded to the requester. This can be done by asking the index-owning peer directly which is in fact possible by using DHT's (distributed hash tables). Because YaCy needs some redundancy to compensate for missing peers, it asks several peers simultaneously. To collect their response, YaCy waits a little time of at most 6 seconds (by default, you can change that).

Do I need to set up and run a separate database?

No. YaCy contains it's own database engine, which does not need any extra set-up or configuration.

What kind of database do you use? Is it fast enough?

The database stores either tables or property-lists in files with the structure of AVL-Trees (which are height-regulated binary trees). Such a search tree ensures a logarithmic order of computation time. For example a search within an AVL tree with one million entries needs an average of 20 comparisons, and at most 24 in the worst case. This database is therefore extremely fast. It lacks an API like SQL or the LDAP protocol, but it does not need one because it provides a highly specialized database structure. The missing interface pays off with a very small organization overhead, which improves the speed further in comparison to other databases with SQL or LDAP api's. This database is fast enough for millions of indexed web pages, maybe also for billions.

Why do you use your own database? Why not use mySQL or openLDAP?

The database structure we need is very special. One demand is that the entries can be retrieved in logarithmic time and can be enumerated in any order. Enumeration in a specific order is needed to create conjunctions of tables very fast. This is needed when someone searches for several words. We implement the search word conjunction by pairwise and simultanous enumeration/comparisment of index trees/sequences. This forces us to use binary trees as data structure. Another demand is that we need the ability to have many index tables, maybe millions of tables. The size of the tables may be not big in average, but we need many of them. This is in contrast of the organization of relational databases, where the focus is on management of very large tables, but not of many of them. A third demand is the ease of installation and maintenance: the user shall not be forced to install a RBMS first, care about tablespaces and such. The integrated database is completely service-free.

Was hat es mit globalem und lokalem Index auf sich?

Sobald man den Proxy verwendet, wird automatisch mit den indizierten Daten ein lokaler Index erstellt. Aber erst wenn das Programm eine Verbindung zum YaCY-Netz hat, kann man auf den globalen Index zugreifen. Dieser ist sozusagen die Kombination aller lokalen Indexe.

Was heißt Junior, Senior, Virgin und Principal Status?

Der Status virgin heißt, dass YACY noch keinen Kontakt zum Netzwerk hat. Man ist also sozusagen offline. Es kann nur der lokale Index durchsucht werden.

Der Status junior heißt, dass man selber Kontakt zum YaCy-Netz hat. Andere Peers können einen aber nicht kontaktieren. Eine Ursache dafür kann eine Firewall sein. Auch hier kann nur der lokale Index durchsucht werden.

Den Status senior hat man, wenn man eine Verbindung zum YaCy-Netz hat und zusätzlich andere Peers einen erreichen können. Es kann der lokale und globale Index durchsucht werden.

Ein principal ist ein senior, der ergänzend eine Peer-Liste auf einem Server hochlädt. Diese Liste unterstützt andere Peer während des Startvorgangs, um mit dem bestehend YaCy-Netz eine Verbindung aufzunehmen.

Generell sollte man den senior-Status anstreben. Nur so läßt sich YaCy in vollem Umfang nutzen. Wenn man eine Möglichkeit hat, eine Datei auf einen FTP-Server zu laden, dann kann man auch principal werden, und so dem Netz helfen.

Und wieso sollte ich meinen Peer im Senior-Modus betreiben?

Manche P2P-Programme behandeln Peers, die nichts beisteuern, mit sehr geringer Priorität. Wir halten das nicht in jedem Fall für gerecht, da der Betreiber nicht immer in der Lage ist, die Firewall zu öffnen oder den Router anders zu konfigurieren. Unsere Vorstellung von 'Informationswaren' und ihrem Austausch kann auch auf Junior-Peers angewendet werden: Sie müssen zum globalen Index beitragen, indem sie ihren Index aktiv einreichen. Senior-Peers hingegen tragen passiv bei. Dadurch brauchen wir Junior-Peers keine geringe Priorität zu geben: sie tragen gleichermaßen bei, also dürfen sie auch gleichermaßen teilhaben. Doch damit diese Architektur funktioniert, brauchen wir Senior-Peers. Da jeder Peer fast gleich viel beiträgt, ob aktiv oder passiv, sollten Sie ihren Peer möglichst im Senior-Modus laufen lassen.

Mein Peer läuft im 'Junior-Modus'. Wie kann ich ihn im 'Senior-Modus' laufen lassen?

Öffnen Sie in Ihrer Firewall den Port 8090 (den Port, auf dem YaCy lauscht), oder richten Sie auf Ihrem Router eine Portweiterleitung von diesem Port zu Ihrem Computer ein.

Gefährdet YaCy nicht meine Privatsphäre?

YaCy beachtet die Privatspähre der Benutzer. Alle Seiten, die beim Laden GET- bzw. POST-Paramter, Cookies oder Passwortschutz verwenden, werden vom Indexieren ausgenommen. Es werden also nur Seiten indexiert, die auch ohne Passwort geladen werden können. Genaue Erläuterungen zur Technik: [[1]]

Können denn andere Leute mein Surfverhalten herausfinden?

Es besteht keine Möglichkeit abzufragen, welche Seiten alle auf einem Peer gespeichert sind. Über eine Suche besteht nur die Möglichkeit, die gespeicherten Seiten zu einem bestimmten Wort zu ermitteln. Die Wörter werden mit Hilfe von Distributed Hashtables (DHT) über die Peers verteilt. So vermischen sich die Daten aller Benutzer. Damit kann das Surfverhalten eines bestimmten Beutzers nicht nachvollzogen werden.

Die YaCy Seite lädt nicht.

Die Standard-Seite ist http://localhost:8090. Wenn der Internet-Explorer verwendet wird, muss die URL mit http:// beginnen. Wurde während der Konfiguration eine anderer Port ausgewählt, muss die 8090 durch den neuen Port ersetzt werden. Außerdem sollte natürlich YaCy laufen ;-). Ein weiterer Grund können fehlerhaft konfigurierte Proxy-Einstellungen sein, achte immer darauf, dass der Proxy für lokale Adressen umgangen/nicht benutzt wird.

YaCy hat ja ganz andere Ergebnisse als Google.

Sicher hat YaCy andere Ergebnisse als Google. Im Moment hat YaCy zu wenig Peers, um genausoviele Ergebnisse wie Google zu liefern. Gerade deshalb ist es wichtig, dass möglichst viele Leute einen eigenen Peer betreiben. Aber auch wenn YaCy genug Peers hat, wird es trotzdem andere Ergebnisse als Google liefern. Schließlich soll es besser als Google werden, nicht ein zweites Google.

Ich kann YaCy nicht deinstallieren, weil es noch läuft

Sehen Sie zuerst nach, ob YaCy noch gestartet ist. Falls nicht, kann es sein, dass YaCy nicht ordentlich beendet wurde. In diesem Fall einfach YaCy noch einmal starten, dann deinstallieren. Alternativ die Datei yacy.running im Ordner yacy/DATA/ löschen, dann deinstallieren.

How can I help?

First of all: run YaCy in senior mode. This helps to enrich the global index and to make YaCy more attractive. If you want to add your own code, you are welcome; but please contact the author first and discuss your idea to see how it may fit into the overall architecture. You can help a lot by simply giving us feedback or telling us about new ideas. You can also help by telling other people about this software. And if you find an error or you see an exception, we welcome your defect report. Any feed-back is welcome.

Technik

Irgendetwas geht bei mir nicht. Was mache ich jetzt?

Da YaCy sich derzeit noch in Entwicklung befindet, sollte eine aktuelle stabile Version benutzt werden. Diese kann auf der Homepage http://www.yacy.net heruntergeladen werden. Tritt der Fehler immer noch auf, sollten das Wiki und das Forum http://forum.yacy-websuche.de nach bekannten Problemen zur Fehlermeldung durchsucht werden. Ist der Fehler bisher unbekannt, kann eine weitere Hilfe im Forum erfolgen. In diesem Beitrag im Forum sollten die Versionsnummer von YaCy und eine detallierte Fehlerbeschreibung enthalten sein. Auch helfen Ausschnitte aus den LOG-Dateien weiter.

Wie kann ich Tor- oder Freenetseiten indexieren?

Das Indexieren von Tor- oder Freenetseiten wird bewusst zum Teil im Sourcecode verhindert, da es im jetzigen Stadium der Entwicklung von YaCy nicht erwünscht ist derartige Seiten zu indexieren. Es ist jedoch geplant zukünftig das Crawlen solcher Seiten zu ermöglichen, allerdings werden dann vermutlich die Crawl-Ergebnisse nicht global verteilt, sondern stehen nur dem jeweiligen Peer zur Verfügung.

Wie bekomme ich den Index von einem Peer zu einem anderen?

Dies geschieht eigentlich automatisch durch die DHT-Verteilung der Worte. Jedoch gibt es auch die Möglichkeit, den gesamten Index auf einen anderen Peer zu übertragen. Dies kann entweder durch einen sogenannten Index-Transfer oder einen Index-Import geschehen.

Welche Datentypen / Mime-Types werden von YaCy indexiert?

Per default werden von YaCy nur Html- und Text-Dateien, also Dateien mit den MimeTypes

  • text/plain
  • text/html
  • application/xhtml+xml

indexiert. Um auch andere Datei-Typen zu indexieren kann man sich die Optionalen Erweiterungen zu YaCy ruterladen und installieren. Dieses Zusatzpackage enthält neben anderen nützlichen Features zusätzliche Content Parsers für PDF, Doc, Rtf, Rss und andere Formate. Eine vollständige Liste der unterstützten Formate findet sich hier.

Werden bereits Indexierte Seiten (zb via DHT getauschte usw) automatisch reindexiert nach X jahren/tagen?

Leider nein. Es gibt aber die Moeglichkeit, ein chronologisch auszufuehrendenes Recrawl fuer die URL (oder gesamte Webseite, wenn gewuenscht) einzustellen. Mehr dazu unter "Index Control -> Index Creation".

Sind DHT Einträge in einem Suchnetz einmalig oder können urls auch doppelt/dreifach vorkommen?

Sie sollen sogar mehrfach vorkommen, damit beim Wegbleiben eines Peers dessen Teil am Suchindex nicht verloren ist. Die Indexdaten werden also auf mehreren Peers redundant vorgehalten.

Wie kann ich das Connection Timeout ändern

Dies kann über die Konfigurationsseite "Admin Konsole"->"Erweitertes Verhalten" http://localhost:8090/ConfigProperties_p.html gemacht werden. Einfach nach dem Property mit dem Namen "clientTimeout" suchen und den dortigen Wert ändern. Der Timeout wird in Millisekunden angegeben.

Nach der Wertänderung einen Neustart von YaCy nicht vergessen.

Alternativ dazu kann die Konfiguration auch über das Config-File httpProxy.conf im Verzeichnis DATA/SETTINGS geändert werden. Wird diese Art der Konfiguration gewählt sollte YaCy allerdings zuvor schon beendet worden sein.

Der YaCy Bot crawlt meine Seiten. Was soll ich tun?

Um zu verhindern, dass der YaCy Bot einen Webauftritt crawlt, kann eine robots.txt Datei mit dem folgendem Inhalt erstellt werden:

User-Agent: yacy
Disallow: /

Der Bot selber kann nicht beeinflusst werden, da dieser von einem YaCy Benutzer, und nicht zentral vom YaCy Projekt gestartet wurde.

Ich kann mich nicht mehr einloggen. Wie kann ich mein Passwort zurücksetzen?

Bei verlorenem Passwort kann man dieses durch editieren von DATA/SETTINGS/yacy.conf resetten oder auch ganz neu setzten. Dazu in dieser Datei:

  • Eintrag serverAccountBase64MD5 entfernen
  • Eintrag adminAccount entfernen (falls vorhanden)
  • Eintrag serverAccount auf <account>:<password> setzten, also beispielsweise serverAccount=admin:mysecretpassword

Beim nächsten Neustart wird diese Account/Passwort-Kobination gelesen, verschlüsselt und wieder aus yacy.conf gelöscht, damit diese Info nirgends als Klartext lesbar ist.

Jetzt kann über das Webinterface ein neues Passwort gesetzt werden.


Speicherplatz

Wie kann ich die Dateigrösse der zu herunterladenden Dateien begrenzen?

Die Dateigrösse kann man unter erweiterte Einstellungen->Crawler Einstellungen vornehmen. Dabei können für HTTP und FTP verschiedene Grössen angegeben werden. Die Dateigrösse wird in Byte angegeben. Einen Umrechner findet man unter Bit und Byte (Bits and Bytes)

Wieviele Links/Wörter kann eine YaCy Instanz verwalten und wieviel Plattenplatz benötigt das?

Die Anzahl der speicherbaren Links/Wörter ist prinzipiell unbegrenzt, jedoch wird die Anzahl durch eine Verlangsamung des Indexierungsprozesses mit anwachsender Link/Wort-Zahl begrenzt. Es gibt Benutzer mit mehr als 10 Millionen Webseiten in einer YaCy-Instanz. Der für den Index einer Webseite notwendige Platz hängt auch von Größe und Art des Dokumentes ab. Bei 10 Mio Webseiten ist eine Indexgröße von 20GB nicht untypisch.

Kann ich die Größe des Indexes auf meiner Platte begrenzen?

Momentan nicht. Begrenzung bedeuten automatisch Löschung, was von den meisten User noch weniger gefordert wird als Begrenzung. Die Indexgröße stellt bei aktuell verfügbaren Plattenplatz kaum ein Problem dar.

FAQ Wunschliste / TODO

Fragen die noch aufgenommen werden sollten ...

  • Warum gibt es keine mySQL Unterstützung für YaCy?
  • Man sollte den Speicherplatz nachträglich, bzw. generell ändern können.

Flag-england.gif There is an english version of this page.

Flag-france.gif Il y a une version française de cette page.

Icon work.png TODO: english and german FAQ have too many differences.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Gemeinschafts-Portal
Navigation
Werkzeuge