maandag 22 januari 2007

Voorbeeld kennisdeling: handleiding zoeken met Autonomy

Als voorbeeld van kennisdeling is hier een verkorte versie van de 'handleiding zoeken met Autonomy':

#-----------------------
Handleiding
"hoe maak in een zoekmogelijkheid met Autonomy"


Dit is een handleiding voor het maken van een zoekmogelijkheid met Autonomy. Deze handleiding betreft het zoeken in metadata. Full-text zoeken wordt hier niet behandeld.


Stap 0 : indexering
Maak de index (deze stap staat elders beschreven)
In het onderstaande gaan we uit van een index die Index heet. Die naam wordt hieronder gebruikt in directory- en bestandsnamen als Index.

Stap 1 : aanmaken bestanden
Maak een directory Index met daarin:
Indexsearch.php (basisscript van waaruit de werking van de rest geregeld wordt)
Zoekformulieren: simple.xsl (eenvoudig zoekformulier) en/of advanced.xsl (geavanceerd zoeken)
Zoekresultatenpagina: result.xsl

Het makkelijkst gaat dit door de voorbeelden in Autonomytools te kopiƫren.

Je kan eventueel inc_globals.xsl maken (globale variabelen voor XSL); dit is niet perse nodig maar kan handig zijn als je veel XSL bestanden gaat maken. Als je inc_globals.xsl niet gebruikt moet je de benodigde variabelen definiƫren in de diverse XSL bestanden.

De directory Index moet leesbaar zijn voor de webserver. In veel gevallen zal het een deel zijn van een (bestaande) website die ook andere functionaliteit biedt dan zoeken. In dat geval hoeft Index niet perse een subdirectory van de webdirectory te zijn; de genoemde bestanden kunnen ook naast de overige webbestanden staan.

Roep vanuit Indexsearch.php seal.php en functions.inc.php aan, in de directory Autonomysearch.
Maak Indexconf.inc.php, ook in de directory Autonomysearch.


Stap 2 : configuratie
Pas Indexconf.inc.php en eventueel inc_globals.xsl aan:
In Indexconf.inc.php: zet de juiste waardes voor de url-variabelen, de indexnaam en de XSL directory (zoals aangegeven in het voorbeeldbestand).
In inc_globals.xsl: zet de juiste waarden voor $basescript en $uri



Stap 3 : aanpassen code
Pas Indexsearch.php aan:
Zorg dat in de default url de juiste waarde voor ‘cfg’ terechtkomt (‘cfg’ geeft aan search.php door welk configuratiebestand geladen moet worden).
Haal de commentaartekens weg bij de onderdelen die je wilt gebruiken.
Verwijder eventueel de delen die je niet wilt gebruiken (of laat ze in commentaar staan)
Maak eventueel andere aanpassingen die nodig zijn bij de betreffende website en index (bv voor extra gegevens of feedback).

Stap 4 : aanpassen lay-out
Pas de XSL aan voor de lay-out van de betreffende website.
Bepaal in result.xsl welke onderdelen van het zoekresultaat getoond moeten worden (titel, auteur, link naar full-text, aparte link naar abstract, gevonden zoektermen, relevantiepercentage van de treffer) en hoe.

NB: in Omega wordt een apart bestand gebruikt voor de pagina-header (aangeroepen vanuit omegasearch.php). Dat kun je voor je eigen site ook doen, maar het hoeft niet. Als je geen headerbestand gebruikt, let er dan op dat de headers gezet worden in de XSL.


Stap 5: uitbreiding functionaliteit
Eenvoudig en uitgebreid zoeken kan worden uitgebreid met feedback ("u heeft gezocht op") en "terug naar zoekvraag".
Een voorbeeld van feedback zit in result.xsl; terug-naar-zoekvraag zit als link in result.xsl en als functie in simple.xsl en advanced.xsl

Andere mogelijke uitbreidingen zijn leestafel en zoekgeschiedenis. Die kunnen worden aangeroepen met functies in Indexsearch.php.
Voor beide worden functies aangeroepen (en tabellen gebruikt) die op de Bach staan (ontwikkelversies op de Mozart), dus zorg dat je site daar bij kan (je site hoeft niet direct bij de database te kunnen, dat wordt afgehandeld in de functies).

Nog verdere uitbreidingen zijn functies waarvoor de gebruiker moet zijn ingelogd (met
Solis-id): boekenplank, favoriete zoekvragen, zoekvraagattendering.

Als er nog andere functionaliteiten gewenst zijn, dan moeten die nieuw gebouwd worden. Als het functionaliteit is die mogelijk ook door andere sites gebruikt zal worden, zet je code dan zoveel mogelijk in de Autonomysearch directory.

#--------------

Geen opmerkingen: