Hallo allemaal,
hierbij een bericht waarin ik mijn kennis deel met betrekking tot het
indexeren van een internetarchief met opensource software.
Dit stukje kan interessant zijn voor zij die een internetarchief op
hun eigen manier willen doorzoekbaar maken (en dus niet perse
afhankelijk willen zijn van het gebruik van de WayBack Machine) en
hiervoor de nodige techneuten ter beschikking hebben.
Ik ga in dit stukje uit van enige technische kennis, maar schroom niet
om wat te vragen als het niet duidelijk is ;)
In dit stukje ga ik uit van een dergelijk scenario:
1. De gebruikte crawl software produceert ARC files (zoals het
populaire HERITRIX)
2. Van deze ARC files wordt een index gemaakt (hierdoor is o.a. free-
text search door het archief mogelijk)
3. Er wordt een eigen gebruikersinterface ontwikkeld (de uiteindelijke
webpagina voor je organisatie) die gebruik maakt van deze index.
Dus dit scenario staat tegenover een oplossing waar simpelweg de
WayBack Machine gebruikt wordt ter ontsluiting van een
internetarchief.
Ok laten we beginnen:
Als je gaat zoeken op een manier om je webarchief te indexeren, kom je
eigenlijk vrijwel altijd uit bij NutchWAX (
http://archive-
access.sourceforge.net/projects/nutch/). NutchWAX is een extentie op
Nutch (
http://nutch.apache.org/about.html) dat ook een soort web
crawler is. (met Nutch zelf heb ik nooit geexperimenteerd).
Met NutchWAX kan je in ieder geval op een redelijk eenvoudige manier
je collectie ARC files indexeren (NutchWAX gebruikt Lucene). Ik zeg
redelijk eenvoudig, omdat de documentatie van NutchWAX erg slecht is
(zelfs misleidend, er staan nog verwijzingen naar tutorials die
helemaal niet goed werken op de laatste versies...). Een lichtpuntje
hier is dat de mailinglist 'archive-access-discuss' (
http://archive-
access.sourceforge.net/projects/nutch/mail-lists.html) erg goed is te
gebruiken om vragen te stellen. Degenen die veelal antwoorden zijn
leden van het Internet Archive en zijn erg behulpzaam.
Als je het eenmaal aan de praat hebt kan je gebruik maken van de
NutchWAX opensearch servlet (Java code) om je webarchief te bevragen.
Ik vond echter al gauw fouten in deze zoekinterface (soms worden er
half lege resultaten teruggegeven + het getal dat het totaal aantal
resultaten weergeeft klopt niet) en begon ik te denken aan het maken
van een eigen index en zoekengine m.b.v. Solr (http://
lucene.apache.org/solr/) wat tegenwoordig een erg vooraanstaand stukje
opensource software is voor het maken van indexes & zoekengines.
Hierdoor ben ik gaan experimenteren met Solr. Om een eigen index te
bouwen van een archief met ARC files heb ik gebruik gemaakt van de
Java library om ARCs uit te lezen (van the Internet Archive. Deze
library maakt deel uit van de HERITRIX code) in combinatie met de Java
libraries van Solr.
Het is vrij eenvoudig om met deze libraries een index te genereren.
Het is verder prettig om je zoekengine te kunnen baseren op de
mogelijkheden van Solr.
Wat ik nu moet benadrukken is dat mijn experimenten met Solr alleen
nog maar gericht waren op zeer kleine internetarchieven. Er is verder
nog niet nagedacht over het gebruiken van cloud/cluster techieken als
Hadoop (wat wel beschikbaar is in NutchWAX)
Het uiteindelijke prettige nieuws is dat de mensen van de Internet
Archive nu ook bezig zijn met het maken van een op Solr gebaseerde
oplossing. Zij willen dus ook langzamerhand af van NutchWAX en gaven
ook aan dat de architectuur van NutchWAX niet echt ideaal is
toegespitst op het gebruik ter indexatie van een internetarchief
(NutchWAX is dus een extensie van een soort crawler software).
Concluderend lijkt het er dus op dat een oplossing met:
HERITRIX (+bv WebCurator) + Solr + Java code een goede manier is om
met opensource software een eigen web applicatie te ontwikkelen
bovenop een internetarchief.
Als er mensen zijn die zich bezighouden met dit onderwerp, kijk ik
zeer uit naar advies en tips!
Vriendelijke groeten,
Jaap Blom