published in Net - November 1996
© 1996 - Adriaan van Roeden - a3@n-vision.nl
Search engines zijn zo langzamerhand uitgegroeid tot een onmisbaar hulpmiddel bij het dagelijks internetgebruik. Het aantal Web pagina's is zo hard gegroeid dat zo'n service dan ook hard nodig is om nog binnen afzienbare tijd informatie te kunnen vinden op het net. Gelukkig staat de ontwikkeling van search engines niet stil en zijn er inmiddels meerdere engines die claimen het hele WWW te hebben geindexeerd. Ondanks de enorme omvang van de bestanden (tot 40GB) en het grote aantal queries per dag kunnen ze toch nog binnen een redelijk korte tijd een zoekopdracht uitvoeren en worden ze door steeds meer Internetters gebruikt.
Search engines zijn zo langzamerhand zelfs zo ingeburgerd geraakt dat ook bedrijven speciale Search engines beginnen te gebruiken om de gegevens binnen hun organisatie te ontsluiten en beschikbaar te stellen op hun interne bedrijfsnetwerk. Search engines zullen dus ook op de werkplek een steeds normaler verschijnsel worden. Gezien deze ontwikkelingen is het wellicht interessant eens te gaan kijken hoe een Search engine werkt. Daarnaast worden er een aantal grote engines beschreven en getest en wordt er gekeken naar engines die zich alleen op Nederland richten.
Het derde onderdeel, de database van geindexeerde Web
pagina's, wordt nu door het zoekprogramma doorzocht naar de
woorden waaruit de query bestaat. Vervolgens wordt er dan
ter plekke een HTML pagina gegenereerd waarop een overzicht
staat van pagina's die in meer of mindere mate aan de query
voldoen.
Het zijn deze drie onderdelen (interface, zoekprogramma en
database) waarmee je als gebruiker direct te maken hebt en
die samen met de gebruikte apparatuur en netwerkverbinding
de snelheid van de engine bepalen.
Natuurlijk zijn we er daarmee nog niet, want die database
(waarin niets meer of minder dan de inhoud van het hele WWW
zit) komt er niet vanzelf - daarvoor zijn twee andere
onderdelen van de engine nodig, namelijk een programma dat
web pagina's opvraagt en een programma dat de inhoud van die
pagina's indexeert.
Voor zo'n opvraag-programma zijn verschillende namen in
omloop zoals `robot', `spider', `crawler' of `worm', wat
ook terug te vinden is in de naam van enkele search engines
(`world wide web worm', `Lycos' (is Latijn voor spin),
`webcrawler', `hotbot', etc.). Al die namen hebben dan ook
te maken met wat zo'n programma doet, namelijk het
geautomatiseerd (`robot') afgaan (`spider', `worm',
`crawler') van websites om daarvan alle beschikbare pagina's
op te vragen en deze lokaal op te slaan. Omdat veel pagina's
op het net ook links hebben naar andere pagina's is zo'n
`robot' uiteindelijk in staat alle pagina's op het Web op te
vragen door alle gelinkte pagina's te volgen en deze op hun
beurt ook weer op te slaan. Het zal duidelijk zijn dat grote
engines meerdere van die robots tegelijk op pad sturen om
deze klus te kunnen klaren.
Als er uiteindelijk een grote verzameling pagina's van het net is gehaald, kan het laatste onderdeel van de search engine, het indexeerprogramma (indexer), in actie komen. De indexer moet elk woord in een pagina indexeren en opslaan in de eerder genoemde database. Hoe slimmer dit gebeurt des te nauwkeuriger (relevanter) zullen de gepresenteerde resultaten zijn die je krijgt na het versturen van je query. Ook is de structuur van de door de indexer gevulde database van invloed op de snelheid van de engine als geheel.
Omdat het web enorm hard groeit, moet een goede engine ervoor zorgen dat de database regelmatig wordt bijgewerkt - waardoor de grote engines op elk moment van de dag wel een paar `robots' op pad hebben die op zoek zijn naar nieuwe of gewijzige pagina's.
Hoewel er dus verschillende functioneles gedeelte binnen een
search engine zijn te onderscheiden, combineren sommige
kleinere engines verschillende functies binnen 1 programma
en/of draait de hele engine op maar 1 machine.
Om het hele Web te kunnen indexeren is er echter heel wat
meer nodig en daarom is het misschien interessant om eens op
een rijtje te zetten wat de Altavista Search engine van
Digital aan hardware nodig heeft om 30 miljoen pagina's en
alle news groups te kunnen indexeren (met een snelheid van 1
GB per uur) en elke dag meer dan 12 miljoen queries af te
handelen.
webservers:
3 Alphastations : 2 250 4/266 en 1 500/333 elk met 256 MB RAM en 1 4GB schijf
index/database servers:
3 Alphaserver 8400 5/300 met elk 10 CPU's, 6 GB RAM en 210 GB schijfruimte.
Elke server heeft een eigen kopie van de Web index (40 GB)
'scooter' (Altavista's `robot')
1 DEC3000/900 AlphaStation met 1 GB RAM en 48 GB schijfruimte. 'Scooter'
stuurt opgevraagde pagina's door naar een Alphaserver 4100 (2 CPU's, 1 GB
RAM) om de index te genereren. De 4100 copieert de index weer naar de index
servers.
news server:
1 Alphastation 400 4/333 met 160 MB RAM en 24 GB schijfruimte
news indexer:
1 Alphastation 250 4/266 met 196 MB RAM en 13 GB schijfruimte
Het zal duidelijk zijn dat men de belasting van de Altavista engine functioneel heeft verdeeld over een aantal machines om een zo snel mogelijke responstijd te kunnen bieden. In totaal worden er voor de Altavista search engine dan ook 10 zeer snelle machines gebruikt met daarin in totaal 21604 MB RAM en 727 GB schijfruimte. Wie een internationaal gerichte engine wil beginnen, mag dus wel een flinke bom duiten op zak hebben.
Hoewel de grote engines over niet geringe resources beschikken, komt het toch regelmatig voor dat pagina's niet worden gevonden. Daar zijn een aantal mogelijke oorzaken voor:
Waarom bepaalde pagina's niet of juist wel worden gevonden Soms is het zelfs voor een geavanceerde search engine als Altavista onmogelijk bepaalde pagina's te vinden:
Het komt ook voor dat er pagina's worden gevonden die niet meer bestaan of waarin de query helemaal niet in voorkomt/voor lijkt te komen:
Gezien het bovenstaande mag je van een engine dus geen wonderen verwachten, en moet je je altijd afvragen of je query wel goed genoeg is geformuleerd als de resultaten blijken tegen te vallen.
Een query in Altavista bestaat uit een of meerdere woorden waarna gezocht moet worden. Geprobeerd wordt pages te vinden waar zoveel mogelijk van deze woorden in staan. Hoe vaker een query voorkomt in een pagina, des te hoger de 'relevance' van die pagina. Pagina's worden gepresenteerd op volgorde van relevance (`ranking' in het Engels). De `relevance' wordt meestal weergegeven door een getal naast de gevonden pagina; dit is de `score'.
Er zijn een aantal technieken waarmee je de query nauwkeuriger kunt bepalen: gebruik aanhalingstekens als je wilt zoeken naar een uitdrukking (een phrase); bijv. "internet providers" geeft aan dat deze twee woorden achter elkaar moeten staan in de page. Als je geen hoofdletters gebruikt zoekt Altavista 'case insensitive' en kunnen er dus wel of geen hoofletters in de query voorkomen
bijv. "internet providers" kan pagina's opleveren waarin
'Internet Providers', Internet providers', 'internet
providers' of 'INTERNET PROVIDERS' staat.
Zodra je wel een hoofletter gebruikt wordt er 'case
sensitive' gezocht en moet die hoofletter ook daadwerkelijk
voorkomen in de query.
Met '+' en '-' kan je opgeven of een woord wel of juist niet
in een pagina moet voorkomen bijv: +"internet providers"
+nederland (internet providers in Nederland)
Gebruik '*' om een gedeelte van een woord te vinden, handig
als je niet zeker weet hoe een woord of naam gespeld wordt.
Voorwaarde is wel dat er tenminste drie letters voor de '*'
moeten staan. Ook moet je er rekening mee houden dat '*'
voor een maximum van vijf letters staat en dat een te groot
aantal matches een ongeldig resultaat oplevert:
bijv: tennis* levert wel tennisveld op maar niet
tennistoernooi en comp* levert gewoon teveel pagina's op.
Tenslotte kan je het zoeken (en dus het aantal gevonden pagina's) nog beperken door de volgende 'keywords' te gebruiken in een query:
In het algemeen geldt dus de zoekopdracht zo nauwkeurig mogelijk te formuleren zodat je zo min mogelijk pagina's moet opvragen om te kijken of ze inderdaad die informatie bevatten die je zoekt. Als je op zoek bent naar Internet providers kan je dus beter zoeken naar "internet providers' dan naar 'internet' - in het laatste geval bent je waarschijnlijk wel even bezig.. einde kader
Vervolgens zijn er bij alle sites steekproeven gedaan naar een aantal pagina's die op deze manier werden gevonden of waarvan bekend was dat ze `voldeden' aan de query. Na een bepreking van elke Search engine komen de testresultaten aan bod.
De responsetijd van Altavista is eigenlijk altijd goed, maar daar heeft men dan ook de nodige hardware voor bijeen gesleept. Verder heeft Altavista vrij uitgebreide zoekmogelijkheden en is tot nu toe verschoond gebleven van advertenties. Nu de technologie achter Altavista zich zo langzamerhand heeft bewezen is Digital hiermee de boer op gegaan en probeert deze onder de noemer 'Altavista Private Extensions' te verkopen aan bedrijven die hiermee de informatie op hun Intranets kunnen indexeren en ontsluiten. Ook interessant is de `home' versie hiervan ('Altavista Search my Computer Extensions') die eenieder kan downloaden en waarmee de bestanden op de eigen PC geindexeerd kunnen worden.
Erg handig is ook `group by site', waarmee je de gevonden pagina's kan groeperen naar de site waar ze op staan, dit is in veel gevallen een stuk overzichtelijker. Tenslotte is de mogelijkheid een eigen Excite homepage te maken ook een leuk idee.
Tijdens het schrijven van dit artikel ontdekte ik trouwens een aantal tegenstrijdige beweringen in de online propaganda (op de ene pagina hadden ze het bijvoorbeeld over 50 miljoen geindexeerde pagina's en op de andere over 11.5 miljoen) en stelde Excite hiervan op de hoogte, wat men gelukkig zeer wist te waarderen. Zoals wel vaker gebeurt in de automatisering had de documentatie een lagere prioriteit gekregen dan de op handen zijnde vernieuwingen. Per 30 Juli heeft Excite een geheel nieuwe `look' gekregen, wat nog een extra indicatie is van de moeite die ze doen om de `King of the Search engines' te worden.
Als je meer wilt weten over de techniek achter Excite dan is http://www.excite.com/ice/new.html heel interessant - hier komen ze o.a. met allerlei `bewijzen' voor hun claims dat ze de grootste en beste op het net zijn. En last but not least : webmasters zullen de mogelijkheid de Excite searchengine te kunnen downloaden voor gebruik op de eigen server zeker interessant vinden.
Uit de uitgevoerde tests blijkt trouwens op geen enkele manier dat Lycos gelijk heeft - integendeel. Wel aardig is de samenwerking met Point (van de bekende web reviews) en de `A2Z net directory' waardoor ook Lycos meer is dan een search engine alleen.
Search maakt gebruik van fuzzy zoektechnologie, waarmee het mogelijk wordt ook te zoeken naar woorden die op de woorden in de query lijken en dus anders gespeld kunnen zijn. `Handig' als je niet weet hoe een woord of naam precies wordt gespeld.
In de praktijk is deze `feature' nogal irritant, omdat je meestal echt wel weet hoe een woord wordt gespeld waar je naar op zoek bent. Maar dankzij de `fuzzy' technieken worden er dus altijd links gepresenteerd die echt helemaal nergens op slaan (wat moet ik met een pagina waar het woord satestokje in staat terwijl ik op zoek ben naar het boek van Bill Gates? - ik verzin het niet..). Het `fuzzy' zoeken zou dan ook een optie moeten zijn, hoewel de mate van `fuzzyness' wel via de advanced options in is te stellen. Helemaal `fuzzy loos' wordt een query echter nooit.
Wel handig is dat in de korte samenvatting van de pagina het gedeelte uit de pagina voorkomt waarin de woorden uit de query staan en dat deze highlighted zijn. Ook handig is de `preview' knop naast elke link die de lokale kopie van de gevonden pagina bij Search NL laat zien ipv de originele pagina, hetgeen behoorlijk in snelheid scheelt.
query: `bioscoopagenda +amsterdam' AV HB EX LY SE ZO IL dhp uitgaan, film * * * x x x x telebyte bioscoopagenda * * * * * * * PI movie/agenda x * x x x x x filmmuseum linkpagina x * x x x x x XXlink movies * * * * x * x
Query twee was de uitdrukking (phrase) "java garden", de Titel van een pagina die gewijd is aan een java applet. Een phrase moet als het even kan precies zoals ingevoerd in de pagina voorkomen, dus een zin als `Our house on java had a nice garden' levert dan niets op. De pagina is vrij recent op het net gezet en komt zeker voor in de Gamelan site (http://www.gamelan.com) en bij JARS (Java Applet Rating Service - http://www.jars.com - sinds 25/07). Weer is Hotbot de enige die zowel de originele pagina, de verwijzing ernaar toe vanuit Gamelan en de Engelse Java Garden pagina vindt (die trouwens niets met de applet te maken heeft). Lycos vind helemaal niets, Excite ook niet trouwens. Van de Nederlands engines vindt alleen ILSE een link, maar niet de pagina zelf. Geen enkele engine vindt de vrij recente verwijzing bij JARS. Als er dus alleen of bijna alleen vanuit een buitenlandse site naar een pagina in Nerderland wordt gelinkt, heb je in zo'n geval weinig aan een Nederlandse search engine.
query: "java garden" AV HB EX LY SE ZO IL java garden * * x x x x x gamelan * * x x java garden UK x * x x
Ook bij de query `+gates +boek' komt Lycos er weer slecht vanaf, maar vindt tenminste nog de recensie bij Planet Internet over het boek van Bill Gates, `the Road ahead'. Geen enkele buitenlandse engine vindt het artikel van Luc Sala over het boek, hoewel ze toch genoeg andere pagina's van de rest van de Net Info site hebben geindexeerd. Zoek vindt helemaal niets en ILSE springt eruit door naast de recensies bij Planet Internet en die in Modem Magazine ook die van Sala te vinden.
query: `gates +boek' AV HB EX LY SE ZO IL Planet Internet x * x * * x * Modem magazine * * * x * x * PC active * * * x x x x Net Info/sala x x x x x x *
HotBot vond de meeste pagina's en is het meest gebruikersvriendelijk. Hoewel Excite wat minder nuttige links produceerde, is het toch een zeer interessante en complete Search engine vanwege de originele ideeen en de online directory en nieuws service.
Altavista bied vrij uitgebreide zoekmogelijkheden en een goede responsetijd. Bij de andere engines verscheen er af en toe wel eens een melding dat het systeem tijdelijk overbelast was, maar dit heb ik bij Altavista nog nooit gezien.
Lycos lijkt toch een beetje op z'n retour hoewel de online persberichten anders zouden doen vermoeden. Dat de beperkte test in dit artikel echter zo weinig links opleverde kan volgens mij geen toeval zijn.
Omdat een search engine zo langzamerhand een onmisbaar hulpmiddel is geworden bij de Internet navigatie, raad ik iedereen aan om zelf ook eens wat tijd te steken in de mogelijkheden van de verschillende engines. Lees de online informatie en voer zelf wat tests uit om te kijken welke engine het beste bevalt. Vergeet ook niet dat de engines regelmatig verbeterd worden en dat er ook steeds nieuwe bijkomen (hou Ultraseek in de gaten).
Adriaan van Roeden - a3@n-vision.nl - http://www.n-vison.nl/~a3/ --------------------------------------------
Search engine features AV HB EX LY directory x x * * nieuws x x * * meer dan 10 hits tegelijk x * x * advanced search * * * * zoeken in newsgroups * x * x personalised page x x * x geen advertenties * x x x detail level instelbaar * x x * QBE x x * x Automatic Abstracts x x * x sort by site x x * x URLs: Zoek http://www.zoek.nl ILSE http://www.il.ft.hse.nl/ilse/ http://www.il.ft.hse.nl/ilse/stats.html Search http://www.search.nl HotBot http://www.hotbot.com Altavista http://altavista.digital.com Excite http://www.excite.com http://www.excite.com/ice/compare.html (engine vergelijking) LYCOS http://www.lycos.com http://www.lycos.com/info/ Ultraseek http://www.ultraseek.com Point http://www.pointcom.com