Eine offene Schnittstelle die zum Einpflegen eigener Daten ohne den Weg über den Crawler genutzt werden kann.
Was das heisst: man kann nun eine xml-Datei erzeugen, in ein Übergabeverzeichnis von YaCy kopieren, und dieses wird dann in YaCy eingelesen und indexiert. Kann man beispielsweise gebrauchen wenn man einen Datendump hat und diesen in den Indexierer bekommen will.
Das ganze ist Datensatz-orientiert, d.h. ein 'record' ist etwas, das man über eine URL bekommt. Diese muss immer mitgegeben werden.
Um das mal auszuprobieren, ist in SVN 5817 eine Beispieldatei dabei. Folgendes mal machen:
- YaCy starten
- dann die Datei example/surrogate_dublin_core.xml nach DATA/SURROGATES/in kopieren.
Diese Datei wird dann sofort gelesen und nach DATA/SURROGATES/out geschrieben.
Da drin steht ein Eintrag aus der Wikipedia, mit einem Link in die Wikipedia. Man kann dann nach den Begriffen, die in dem XML standen suchen.
Als Format für das XML kommt Dublin Core zum Einsatz. Das ist ein im Bibliothekswesen weit verbreiteter und anerkannter Standard für die Formalerfassung. Alle Details stehen im Beispiel.
- Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<!-- YaCy surrogate file 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>
Jetzt sind viele neue Anwendungen möglich, denn jeder kann sich seinen Harvester selber schreiben. Jeder kann seinen eigenen Crawler bauen, den laufen lassen, und als Ergebnis einfach so ein XML schreiben, und in YaCys SURROGATE/in Verzeichnis legen.
D.h. hier könnt ihr mitmachen, in eurer Lieblingssprache Harvester bauen und XML erzeugen.
