De:InterfaceÜberHTTP

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Einführung

YaCy bietet ein umfangreiches Interface das als Java-Applets realisiert und über den YaCy-eigenen Webserver auf dem konfigurierten Proxy-Port ansprechbar ist. Darüber hinaus können alle Funktionen auch per HTML Anfragen ausgelöst und, falls Antworten wie Suchergebnisse erwartet werden, diese über XML oder JSON ausgewertet werden.
Entwicklern und Anwendern wird damit der einfache Zugriff auf YaCys innovative Indexier- und Suchtechnologie ermöglicht um komplexe Abfragemasken oder vereinfachte Administration der YaCy-Engine zu realisieren. Das vorhande Admin-Interface kann parallel genutzt werden um weitergende Einstellungen oder Konfiguration durchzuführen.

Erste Schritte

Such-APIs sind mittlerweile weit verbreitet, im allgemeinen werden sie über eine weitgehend standardisierte HTML-Anfrage an den Peer oder Server angesprochen und liefern dann eine Liste von Resultaten zurück. Beim YaCy-API besteht diese aus XML oder JSON Datenströmen die von den meisten Programmiersprachen aus leicht dekodiert werden können.
Die meisten kommerziellen Suchdienste schränken die Nutzung ein oder erheben Gebühren für die Verwendung der Daten. Der Index eines YaCy-Netzwerks ist aber die Summe der Arbeit aller Benutzer, also können auch alle diese Benutzer frei darauf zugreifen und die Resultate ebenso frei verwenden. So erhalten Entwickler und Anwender kostenfreien Zugriff auf modernste Suchtechnologien und können gleichzeitig die Arbeit aller beteiligten Nutzer mitnutzen.
Mit Hilfe von YaCy können so leicht selbst innovative Suchdienste entwickelt und verwendet werden, ohne auf dabei auf einzlne Suchserver oder kommerzielle Anbieter angewiesen zu sein.

Den YaCy Peer installieren

Die YaCy-Software läuft auf dem PC oder Server innerhalb einer virtuellen Java-Maschine, die dazu benötigte Java-Software ist für verschiedene Betriebsyteme erhältlich. Einen Überblich bietet der Abschnitt De:Install

Zugriff auf einen YaCy-Peer erhalten

Unter De:FirstSetup ist ausführlich beschreiben wie ein YaCy-peer gestartet und bedient wird, Grundlage der Bedienung ist immer die IP-Adresse des jeweiligen PC-Systems und die zugewiesene Port-Adresse. Ein YaCy-peer auf dem eigenen PC kann über die Adresse 127.0.0.1 oder localhost angesprochen werden, normalerweise unter dem port 8090, dieser kann jedoch frei gewählt sein.
Die Statusseite des lokalen YaCy-peers kann also mit http://localhost:8090/Status.html, oder die zentrale Suchseite über Index.html aufgerufen werden. Über diese Adresse erfolgt auch die API-Steuerung indem die Seite des gewünschten Applets aufgerufen wird.
Für manche Aktionen ist eine Anmeldung erforderlich, ansonsten sind Ergebnisse eingeschränkt oder manche Funktionen gar nicht verfügbar. Sind allerdings die Zugangsdaten für einen peer bekannt kann darüber auf den Suchindex des gesamten angeschlossenen Netzwerks zugegriffen werden.

Das YaCy API

Überblick

Referenz siehe Dev:API

Nutzen

Websuche

Das Such API ermöglicht einen bequemen Zugriff auf YaCy Suchresultate um Drittsoftware die Nutzung von YaCy zu ermöglichen.

Syntax

Die Beispiele verwenden HTML und XML.

Abfrage

Einfache Suche über HTTP nach 'YaCy Websuche':

http://localhost:8090/yacysearch.rss?query=yacy+websuche&contentdom=text&maximumRecords=10&startRecord=0

XML Antwort

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='/yacysearch.xsl' version='1.0'?>
<rss version="2.0"
	xmlns:yacy="http://www.yacy.net/"
	xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:atom="http://www.w3.org/2005/Atom">
	<!-- YaCy Search Engine; http://yacy.net -->
	<channel>
		<title>Live p2p Search</title>
		<description>Search for yacy websuche</description>
		<link>http://freeworld.walamt.de:8120/yacysearch.html?query=yacy+websuche&resource=local&contentdom=text&verify=false</link>
		<image>
			<url>http://freeworld.walamt.de:8120/env/grafics/yacy.gif</url>
			<title>Search for yacy websuche</title>
			<link>http://freeworld.walamt.de:8120/yacysearch.html?query=yacy+websuche&resource=local&contentdom=text&verify=false</link>
		</image>
		<opensearch:totalResults>40</opensearch:totalResults>
		<opensearch:startIndex>0</opensearch:startIndex>
		<opensearch:itemsPerPage>10</opensearch:itemsPerPage>
		<atom:link rel="related" href="opensearchdescription.xml" type="application/opensearchdescription+xml"/>
		<opensearch:Query role="request" searchTerms="yacy+websuche" />
		

<item>
<title>YaCy-Blog » 2007 » Januar</title>
<link>http://blog.yacy-websuche.de/2007/01/</link>

<description>http://blog.<b>yacy</b> <b>websuche</b>.de/2007/01/</description>
<pubDate>Tue, 26 Jan 2010 01:00:00 +0100</pubDate>
<yacy:size>20742</yacy:size>
<yacy:sizename>20 kbyte</yacy:sizename>
<yacy:host>blog.yacy-websuche.de</yacy:host>

<yacy:path>/2007/01/</yacy:path>
<yacy:file>/2007/01/</yacy:file>
<guid isPermaLink="false">kO0XkFm14ZBC</guid>
</item>


	</channel>

</rss>

Optionale Parameter

Um die Suche zu präzisieren oder nur einen bestimmten Bereich von Resultaten anzufordern können der Suchanfrage einige dieser Parameter hinzugefügt werden, ansonsten verwendet YaCy die kursiven Standardwerte.
Beispiel einer komplexen, auf *.png beschränkten Suche nach 5 Textlinks beginnend beim 50. Resultat. Die Ergebnisse des gesamten Suchnetzes sollen bevorzugt von der Seite yacy.net stammen und ohne verify ausgeliefert werden.

http://localhost:8090/yacysearch.rss?query=yacy&contentdom=text&maximumRecords=5&startRecord=50&verify=false&resource=global&urlmaskfilter=png&prefermaskfilter=yacy.net
query = string aus durch Leerzeichen sowie + und / getrennte Suchbegriffe


Siehe auch En:SearchParameters

contentdom =text

Begrenzt die Suche auf

  • text
  • image
  • audio
  • video
  • app
resource = local
  • global: alle peers im Netzwerk in die Suche einbeziehen.
  • local: nur mit dem eigenen peer suchen.
urlmaskfilter = RegExp um die Suche zu beschränken.
prefermaskfilter = RegExp um gefundene Ergebnisse zu bevorzugen.
verify =true
  • true: YaCy überprüft alle gefunden Links auf Existenz und liefert das gefundene Text-Snippet.
  • false: Keine Überprüfung zur Beschleunigung der Suche.
maximumRecords =10 number Anzahl Suchergebnisse die geliefert werden sollen.
startRecord = number Erstes geliefertes Suchergebnis
lr = gewünschte Suchsprache z.b. lr=lang_en
meancount = number Anzahl alternativer Suchanfragen für 'did you mean?'
nav =
  • all: Navigatoren in Resultset integrieren.
  • none: Keine Navigatoren

Bildersuche

Steuerung

Syntax

Abfrage

XML Antwort=

Beispiele

  • YaCy-Bar ermöglicht die Suche und Bedienung eines YaCy-peers direkt aus dem Browser heraus. Das Plugin ist für den auf allen unterstützen Plattformen lauffähigen Firefox-Browser verfügbar.
  • YaCymin ist eine PHP-Anwendung zur Steuerung und Verwaltung eines oder mehrerer YaCy-peers.