Die YaCy API

http://yacy.net/api/javadoc/

Die YaCy API: externer Zugang zur YaCy Suche

YaCy ist nicht nur eine Softare die einer Person als Suchmaschine dienen kann sondern liefert auch 'embedded' im Serverbetrieb Leistungen die im Bereich von professionellen Such-Appliances liegt. YaCy lässt sich über die YaCy-API leicht in andere Umgebungen einbinden.

Datenexport per XML: Integration von Suchergebnissen in andere Technologien

Die Suchergebnisse aus YaCy stehen auch in einer JSON- und RSS-Ausgabe entsprechend opensearch.org in der YaCy API zur Verfügung. Dadurch können YaCy Suchergebnisse sehr leicht mit jeder RSS Client Library eingelesen und weiterverarbeitet werden. Beispiel:

> curl http://localhost:8090/yacysearch.rss?query=foaf&maximumRecords=10

<?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/"
>
<!-- stark verkürztes Beispiel! -->
  <item>
    <title>Friend of a Friend (FOAF) project</title>
    <link>http://www.foaf-project.org/</link>
    <pubDate>Fri, 23 May 2008 02:00:00 +0200</pubDate>
  </item>
  <item>
    <title>FOAF - Wikipedia</title>
    <link>http://de.wikipedia.org/wiki/FOAF</link>
    <pubDate>Tue, 08 Jan 2008 01:00:00 +0100</pubDate>
  </item>
  <item>
    <link>http://microformats.org/wiki/xfn-to-foaf</link>
    <pubDate>Fri, 09 May 2008 02:00:00 +0200</pubDate>
  </item>
</rss>


Datenimport per XML: Surrogate

Externe Indexdaten können ganz einfach in YaCy eingebunden werden. Hierzu werden Dateien im Dublin Core Metadatenstandard in XML Datencontainern benötigt. Diese werden einfach in ein Übergabeverzeichnis abgelegt (DATA/SURROGATES/in) und werden dann automatisch dort gelesen und verarbeitet. Hier ist ein Beispiel für solch ein 'Surrogat'-File:

<?xml version="1.0" encoding="utf-8"?>
<!-- YaCy surrogate using dublin core notion -->
<surrogates xmlns:dc="http://purl.org/dc/elements/1.1/">
  <record>
    <dc:title><![CDATA[Alan Smithee]]></dc:title>
    <dc:identifier>http://de.wikipedia.org/wiki/Alan_Smithee</dc:identifier>
    <dc:description><![CDATA[Der als Filmregisseur oft genannte '''Alan Smithee''' ist ein Anagramm von „The Alias Men“.]]></dc:description>
    <dc:language>de</dc:language>
    <dc:date>2009-04-14T00:00:00Z</dc:date> <!-- date is in ISO 8601 -->
  </record>
</surrogates>


Integration in Wikis, Foren, Blogs mit einem Such-Widget

YaCy bietet hierzu vorgefertigte Code-Snippets. Zur Erfassung der Content- Systeme (Blogs,Wikis, Foren) sind spezialisierte Harvester vorhanden. Die YaCy-Suche dient dann als Meta-Suche über die verschiedenen Quellen und bietet dazu spezifische Navigatoren.

Abfrage der Verlinkungsstrukur

Die Analysefunktion zur Verlinkungsstrukur ist für Webdesigner interessant: über das http-API können XML-Dokumente mit in- und out-Links zu beliebigen Domänen abgefragt werden.

> curl http://localhost:8090/api/webstructure.xml?about=yacy.net


<webstructure maxhosts="20000">
  <references direction="out" count="1" maxref="300">
    <domain host="yacy.net" id="Fh1hyQ" date="20090618">
      <reference id="VRAHIA" count="5">suma-ev.de</reference>
      <reference id="EMaLDQ" count="3">www.kit.edu</reference>
      <reference id="sX4ozA" count="15">liebel.fzk.de</reference>
    </domain>
  </references>
  <references direction="in" count="1">
    <domain host="yacy.net" id="Fh1hyQ" date="20090618">
      <reference id="a_bYbR" count="32">de.wikipedia.org</reference>
      <reference id="DWDqhA" count="1">hwiki.fzk.de</reference>
      <reference id="4JR9RA" count="1">wiki.yacy.de</reference>
      <reference id="wqcWfA" count="1">www.itgrl.de</reference>
      <reference id="P290EA" count="128">www.heise.de</reference>
      <reference id="z4bRCA" count="1">blog.suma-ev.de</reference>
      <reference id="sX4ozA" count="5">liebel.fzk.de</reference>
      <reference id="FXg39Q" count="3">www.yacy.net</reference>
    </domain>
  </references>
</webstructure>