Zoekfunctionaliteit in websites:
Om een zoekfunctie in een website te realiseren zijn er veel
mogelijkheden. De meest eenvoudige oplossing voor een statische
html omgeving is het toepassen van een Perl scripting (tenminste
als je van Perl gebruik kan maken).
Perlfect search is een onder de open source license vallende
site indexer/ zoekmachine op website niveau middels Perl.
Met behulp van perflect search kan je een vrij “professionele”
zoekfunctie in je website inbouwen zonder al te veel moeite
en tijd. Het is vrij eenvoudig te installeren en te onderhouden.
De enige moeite die moet worden gedaan is het aanpassen van
de templates die nodig zijn voor het weergeven van de zoekresultaten.
Systeem eisen
Om perlfect search te kunnen installeren dient je website
aan de volgende eisen te voldoen:
- Mogelijkheid om je eigen CGI scripts aan te maken op
de hosting omgeving
- Perl 5.004 of hoger geinstalleerd
- Werkt zowel op een (l)unix als op een windows omgeving
- DB_file 1.7 (Berkley database, meestal standaard geinstalleerd
bij Perl)
- Indien je de http indexing methode gebruikt (let op dit
is niet nodig, kan via het file systeem) dienen de volgende
modules te zijn geinstalleerd:
o MIME::Base64 2.11
o MD5 1.7
o URI 1.10
o HTML::Tagset 3.03
o HTML::Parser 3.15
o LWP::libwww-perl 5.50
Basis functionaliteiten in Perlfect search zijn:
- Opbouw van de search index databases m.b.v. een web-interface
- Highligthing van de zoekresultaten in de resultaat pagina
en met behulp van een parser in de gevonden pagina zelf!
- Eenvoudige en 100% aanpasbare HTML gebasseerde resultaat
pagina’s. De resultaat pagina en de “geen document
gevonden” pagina’s kunnen m.b.v. HTML code worden
gebouwd. Deze pagina’s worden middels Perlfect perl
script geparsed. Middels zogenoemde HTML comment tags kunnen
de resultaten in de HTML code worden opgenomen.
- Eenvoudig te configureren en te onderhouden
- Invloed op het zoekresultaat samen stelling door gewicht
toe te kennen aan zogenoemde META tags
- Beperken van de zoek opdracht tot een gedeelte van de
site
- Kan meer dan 1000+ pagina’s indexeren en (snel)
doorzoeken. Maximum is 65.000 pagina’s.
- Mogelijkheid om zowel via het file systeem als via het
http protocol te indexeren. Door middel van het http protocol
kunnen ook dynamische websites worden geindexeerd.
Hoe te installeren ?
Perlperfect is vrij eenvoudig te installeren. Download de
laatste versie van Perlfect search van de pagina www.perlfect.com/freescripts/search/
en pak deze uit.
FTP vervolgens de bestanden naar de cgi-bin directory op de
webserver en zorg ervoor dat de volgende perl scripts kunnen
worden opgestart.
Perl script voor de zoek functionaliteit:
search.pl
Perl script voor het onderhouden van de index (via web
interface)
Indexer.pl
Nadat de bestanden klaar staan op de webserver dient de configuratie
bestand te worden aangepast. De volgende settings dienen in
ieder geval te worden aangepast:
$documentroot, bevat het volledige, fysieke path
naar de root van de webserver. Raadpleeg hiervoor eventueel
de hosting provider voor meer informatie of gebruik een configuratie
perl script om de settings te achterhalen (bijvoorbeeld via
soupermail)
$baseurl, is de “basis url” van de website.
In het geval van spiderglobe is het http://www.spiderglobe.com
$cgibin, is het url path naar de CGI bin directory.
In unix wordt dit dan: $BASE_URL."/cgi-bin/"
$install_dir, is het volledige, fysieke path waar
Perlfect search is geinstalleerd.
$INDEXER_CGI_PASSWORD, het wachtwoord wat nodig
is om middels een web interface de index opnieuw op te bouwen.
$HTTP_MAX_PAGES, het maximale aantal pagina’s
dat mag worden geindexeerd. Deze optie is ingebouwd om eindeloze
loops te voorkomen. Default staat deze op 100, ophogen kan
in principe niet kwaad.
Bekijk voor de rest de parameters in de conf.pl bestand.
Er zijn verschillende mogelijkheden om het zoekresultaat te
beinvloeden en er is rekening gehouden met een aantal andere
aspecten zoals het gebruikt van stopwoorde (deze worden niet
geindexeerd)
Paden die niet mogen worden geindexeerd
In de conf directory (in de installatie directory van Perlfect)
staat een no_index.txt bestand. In dit bestand kan worden
aangegeven welke paden niet mogen worden geindexeerd. Het
gebruik van * is mogelijk. Zo wordt m.b.v. de volgende regel
voorkomen dat de cgi-bin en de web statestieken directory
wordt geindexeerd:
*/cgi-bin/*
*/stat/*
Hoe de index van de zoekmachine te onderhouden?
De index van de zoekmachine kan middels een webinterface vrij
eenvoudige worden onderhouden. Standaard zit er een html document
bij Perlfect search waarmee de index kan worden onderhouden:
index_form.html. Middels het invoeren van een wachtwoord,
welke is opgeslagen in de conf.pl bestand kan de index opnieuw
worden aangemaakt. Let op: bij elke wijziging van de website
dient de index proces handmatig te worden opgestart middels
de pagina.
Het aanmaken van de resultaat templates.
Standaard zitten er een aantal default templates bij perlfect
search waarmee je vrij eenvoudig je eigen zoekpagina, resultaat
pagina en de foutmelding pagina van geen documenten gevonden
pagina zelf kan aanpassen. Perlfect search perl script is
in feit een parser die een html document doorloopt en “perlfect
commentaar” tags vervangt door de juiste waarde. Hierdoor
kan je middels elke HTML editor je eigen template aanpassen.
De templates staan in de templates directory.
Gebruik van een logfile om de zoekopdracht vast te
leggen
In de conf.pl kan worden aangegeven of er per zoekopdracht
een logregel moet worden aangemaakt in een logbestand ( data/logs.txt).
|