brughagedis.nl

Deze blog gaat over mezelf en mijn bezigheden



Nutch 0.9 onder Windows XP

10 November, 2008 (22:04) | Bibliotheek, Technopraat | By: brughagedis

Een van de fascinerende toepassingen van Internet waarvan ik me altijd heb afgevraagd hoe ze werken zijn de zoekmachines. Vorige week kreeg ik via Questionpoint, het systeem waarmee aan de UB gestelde vragen afgehandeld worden, een vraag toegewezen die me dit een beetje duidelijker maakte. De vraag was afkomstig van een student Informatiekunde die bij het configureren van de Open Source zoekmachine Nutch onder Windows XP vastgelopen was in een foutmelding. De gehele configuratie ging goed tot aan het tonen van het zoekscherm, maar na het invullen van de zoektermen en het klikken op OK, kwam er een HTTP 500-error die aangaf dat de aanhalingstekens van de string “/include/header.html” op een bepaalde regel (151) van het jsp-script van een escapeteken moeten worden voorzien bij gebruik als waarde in een variabele. In het officiële taalgebruik:

org.apache.jasper.JasperException: /search.jsp(151,22) Attribute value language + "/include/header.html" is quoted with " which must be escaped when used within the value

Op Internet wordt op veel plaatsen als oplossing voor deze foutmelding het advies gegeven deze aanhalingstekens te escapen met een forward-slash. Er wordt echter ook geconstateerd dat dat niet werkt. Dat was ook het probleem van de student informatiekunde. Omdat hij dacht dat wij er misschien ervaring mee hadden vroeg hij of wij er misschien naar konden kijken. In eerste instantie dacht ik dat het misschien aan het ontbreken van een header.html bestand op de aangegeven plek kon liggen, maar dat bleek toch niet de oplossing.

Omdat ik op het werk niks mag installeren heb ik thuis de hele configuratie uitgevoerd. Een heel duidelijke handleiding is de Step by Step installation guide for dummies: Nutch 0.9 . Te vinden via de Nutch Wiki.

De eerste stap vereist de installatie van Cygwin, een emulator waarmee onder Windows Linux-applicaties gedraaid kunnen worden. Vervolgens installatie van de Java Development KitApache Tomcat webserver en Nutch zelf. Daarna geef je aan van welke url’s de crawler bladzijden moet verzamelen en geef je binnen cygwin de opdracht aan Nutch dit te doen. Hierbij kun je aangeven tot op welke niveau pagina’s verzameld moeten worden en hoeveel per niveau. Deze pagina’s worden in een crawl-folder op de harde schijf opgeslagen. Ik koos voor de de url www.uva.nl.

Crawler

De Crawler onder Cygwin 

Tegelijkertijd wordt ook een zogenaamde WAR bestand (Web Application aRchive) gemaakt, wat een verzameling Java Server Pages, servlets, style sheets, statische HTML pagina’s en Java Scripts is, waarmee de zoekapplicatie in Apache opgediend kan worden. Het enige wat je hoeft te doen is dit WAR bestand naar de Apache folder te uploaden en daar uit te pakken (deployen). Daarna zou het moeten werken, ware het niet dat ik ook de bovengenoemde foutmelding kreeg.

Zoekscherm Nutch 

Het zoekscherm van Nutch 

De hele installatie heeft me zo’n twee uur gekost. Daarna nog ongeveer twee keer een avond (niet de hele avond) voor ik erachter kwam dat je niet alleen op die ene regel alle dubbele-aanhalingstekens moet escapen, maar in het héle script. Als je dat doet werkt het uiteindelijk wel. Deze oplossing moet nog wel wat verbeterd worden, want als je doorklikt in de gevonden treffers komen er weer nieuwe foutmeldingen. Waarschijnlijk is dat ook op te lossen met nieuwe escape-tekentjes. Gek is dat het erop lijkt of het script van deze distributie onder Windows XP niet helemaal bugvrij is. Ik vermoed dat het onder Linux of Mac wel werkt, maar ik ben er nog niet toe gekomen dit uit te proberen. Voor anderen die ook hiermee bezig zijn stel ik in ieder geval mijn bewerkte search.jsp script voor download ter beschikking. Plaats het in de folder: C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\nutch-0.9\. Ik moet er nog verder aan werken. Het ultieme doel is natuurlijk een brughagedis crawler die op gezette tijden in de logs van de blogs uit mijn blogroll opduikt. Zo ver is het nog niet. Maar wie weet …

resultaten voor uva

Zoekresultaten 

Ik vind het alleen raar dat de vraagsteller nog niets van zich heeft laten horen. Is het zo dat hij toch nog iets meer had verwacht? Of ligt het aan Questionpoint waarin je erg gemakkelijk vrij moeilijk te beantwoorden vragen kunt stellen die dan ook nog serieus beantwoord moeten worden ook? Ik heb daar eerder mijn twijfels over gehad. Maar nu heb ik er wel weer wat van geleerd!


View Stats