L'API YaCy: un accès externe à YaCy

YaCy n'est pas seulement un logiciel moteur de recherche: grâce à son API, il peut également être intégré à une page web et à d'autres technologies pour fournir des fonctionnalités de recherche de qualité professionnelle.

Les résultats de recherche peuvent être fournis aux formats JSON ou RSS comme le spécifie opensearch.org. Ces résultats peuvent ensuite être lus avec n'importe quel client RSS. Voici un exemple:

> 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>


Import des données via XML: les substituts (ou "surrogates")

Les données d'index externes peuvent être facilement intégrées dans YaCy. A cette fin, les fichiers doivent préalablement être mis au format XML grâce au conteneur standard de données XML Dublin Core. Les fichiers XML sont alors importés et automatiquement indexés s'ils ont été stockés dans un répertoire de transfert (DATA/SURROGATES/in). Voici un exemple d'un tel fichier "surrogates":

<?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>


Intégration des wikis, forums, blogs avec les widgets de recherche

Pour parcourir des contenus tels que les blogs, wikis, et forums, des "agents" spécialisés sont disponibles. YaCy devient alors un méta-moteur de recherche sur ces différentes sources et présente les résultats de la recherche dans des navigateurs séparés.

Récupération de la structure des liens d'un domaine web

La fonction d'analyse et de récupération de la structure des liens d'un domaine peut être utile pour les architectes Web. Cette structure peut être visualisée et exportée au format XML:

> 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>