Inhoudsopgave 1 Inleiding 1.1 Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Information Access Techonology . . . . . . . . . . . . . . . . . .
5 6 6
2 KBC 8 2.1 Gegevensopslag . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Informatiekanalen . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Clientcomputers . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 NAS 3.1 Wat is NAS? . . . 3.2 Waarom NAS? . . 3.3 NAS vs SAN . . . 3.4 De NAS van KBC .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
11 11 11 11 11
4 De mening van de gebruikers
13
5 Zoekmachines 5.1 Eigen visie & Onderzoek . . . . . . . 5.2 Full-text vs metadata . . . . . . . . . 5.3 Hoe werken internet zoekmachines? . 5.3.1 Technieken . . . . . . . . . . 5.3.2 Gebieden . . . . . . . . . . . 5.3.3 Zoekmachine-optimalisatie . . 5.3.4 Gespecialiseerde zoekmachines 5.3.5 Metazoekmachine . . . . . . . 5.4 Request For Information . . . . . . . 5.5 Geselecteerde bedrijven . . . . . . . . 5.5.1 Overzicht . . . . . . . . . . . 5.5.2 Autonmy . . . . . . . . . . . 5.5.3 Zylab . . . . . . . . . . . . . 5.5.4 Verity . . . . . . . . . . . . . 5.5.5 Google . . . . . . . . . . . . .
14 14 14 15 15 16 16 17 17 17 18 18 18 19 20 20
1
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
6 Lucene 6.1 Inleiding . . . . . . . . . . . 6.2 Apache Software Foundation 6.3 indexeren . . . . . . . . . . 6.4 zoeken . . . . . . . . . . . . 6.5 Testing . . . . . . . . . . . .
. . . . .
7 Overkoepelende zoekmachine
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
21 21 21 22 22 22 23
8 Rechten op de NAS 24 8.1 Uitlezen rechten . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.2 Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9 Besluit
26
2
Lijst van figuren 1.1
Magic Quadrant For Information Access Techonolgy. . . . . . .
3
7
Lijst van tabellen
4
Hoofdstuk 1 Inleiding Wat we in de IT-wereld zeker niet onder stoelen of banken kunnen steken, is dat er de laatste jaren een explosieve groei van gegevens is. Dit zal in de toekomst zeker blijven stijgen. Het papierenkantoor maakt meer en meer plaats voor de digitale versie. Het Internet blijft elke dag groeien. We krijgen dagelijks verscheidende mails die we opslaan omdat ze iets grappigs of waardevol bevatten. Het blijft ook niet meer bij simpele documentbestandjes, maar muziek, beelden, foto’s, behoren tot de bestanden die we dagelijks gebruiken. Allemaal proberen we een goede structuur in onze data te behouden, maar toch gebeurt het dat we iets niet terugvinden. En dit is dan enkel maar op je eigen computer. Zonder goede zoekfunctie zoals Google, AltaVista, zou het leven op het Internet veel minder aangenaam zijn. Grote bedrijven kennen hetzelfde probleem in hun organisatie. Ze hebben natuurlijk wel een hoofdstructuur in hun data, maar de onderliggende gegevens zijn meestal slecht geordend of zo verouderd dat men zelfs niet meer weet wat die informatie daar staat te doen. Sommige werknemers hebben al op verschillende diensten gewerkt. Hebben dus verschillende toegangsmogelijkheden gekregen om gegevens te bewaren. En na hun overplaatsing blijft die data achter. Misschien is er dan wel niemand die nog van dat project gehoord heeft? Het probleem van het niet meer terugvinden van gegevens gaat dus meestal gepaard met een slechte onderliggende structuur, die in de loop der jaren chaotisch is geworden. Dit is dus een probleem dat van in het begin moet opgevolgd worden en dat men geen jaren moet laten aanslepen. Op dit moment zijn er een deel bedrijven die dit hebben ingezien, en die een poging ondernemen om de informatie makkelijker toegankelijk te maken. In hoofdzaak gaat deze tekst over het onderzoeken van wat deze bedrijven kunnen aanbieden om een organisatie als KBC het leven aangenamer te maken. Natuurlijk kan dit onderzoek op elk ander bedrijf toegepast worden. Omdat
5
KBC deze studie steunt, ga ik natuurlijk iets langer stilstaan bij de behoeften van KBC zelf. Gelukkig stopt het hier niet. Als toekomstig ingenieur in de informatica zou ik geen voldoening hebben aan dit project als ik de implementatie niet zelf uitvoer. Daarom wil ik in een tweede deel zelf een zoekfunctie ontwikkelen in Java. De reden waarom ik voor Java kies is dat er een zeer intressante open source API bestaat voor het ontwikkelen van dit probleem, genaamd Lucene.
1.1
Stage
Net voor de zomer van 2005 werd ik gecontacteerd door Luc Van Vossel van KBC die mij doorstuurde naar Walter Carels, diensthoofd van CHW (Computer Hoofdkantoor Werkplaats). Hij stelde voor dat ik een onderzoek zou verrichten naar een zoekfunctie op hun NAS-omgeving. Via Walter kwam ik in contact met Mark Laerte, mijn promoter. Samen met Mark ben ik dan aan tafel gaan zitten om een goede planning te verwezelijken voor dit project. De uiteindelijk opdracht werd in drie grote delen onderverdeeld. 1. Onderzoeken naar een bestaande zoekfunctie die aan de voorwaarden van KBC voldoet. 2. Het maken van een HTML pagina die de eindgebruiker toont waar hij/zij rechten heeft op de NAS en welke rechten hij hier heeft. 3. Implementatie van een zoekfunctie in Java. Met volle moed ben ik aan dit project begonnen, maar toch ondervond ik al snel dat dit geen eenvoudig werkje ging worden. Er is zo een grote hi¨erarchie binnen een organisatie als KBC, dat je er als leek niet weet waar te beginnen. Zo kun je niet even een demo versie van een bepaald product installeren om te testen. Gelukkig kon ik op de steun rekenen van vele medewerkers binnen KBC, die mij goed op weg hielpen.
1.2
Information Access Techonology
We zijn gekomen tot deze titel dankzij een artikel op de website van Gartner. Gartner is een onderzoekscentrum waar meer dan 1.200 onderzoeksanalisten en consultanten werken. Ze publiceren jaarlijks tienduizenden pagina’s onderzoek en antwoorden op meer dan 215.000 clint vragen per jaar. Omdat KBC een contract heeft met Gartner heb ik van deze diensten gebruik kunnen maken in mijn onderzoek.
6
Een belangrijk document waar mijn onderzoek start, noemt: ”Magic Quadrant for Information Access Technology”. Dit artikel beschrijft dat het op dit moment als bedrijf niet meer voldoende is om enkel een zoekfunctie aan te bieden. Om als marktleider naar voor te komen moet men verder durven gaan. Gebruikers verwachten niet alleen dat wat ze zoeken gevonden wordt, maar dat ze ook makkelijk toegang kunnen krijgen tot deze informatie. Wat is het nut als je dingen vindt waar je niet eens toegang tot hebt? Gebruikers willen niet dat het zoeken stopt bij hun data, maar dat er ook gezocht wordt in hun e-mail. Deze informatie moet ook gepresenteerd worden zodat ze makkelijk te analyseren en te begrijpen is. Je moet dus begrijpen dat een titel als ”Information Access Techonolgy”verder gaat dan enkel een studie naar een goede zoekfunctie. In dit onderzoek gaan we verder gaan dan enkel het aspect zoeken. We gaan de gebruikers zelf ondervragen en kijken hoe ver de bedrijven die een informatie toegangstechnologie aanbieden op deze moment gevorderd zijn. Dit artikel bevat ook een interessante figuur, die de bedrijven toont die zich bezighouden met Information Acces Technology (Figuur 1.1). Figuur 1.1: Magic Quadrant For Information Access Techonolgy. Zoals je uit de naam kan afleiden is deze figuur ingedeeld in vier kwadranten. Bovenaan rechts vindt men de marktleiders en bovenaan links de uitdagers. De bedrijven met een andere visie en de bedrijven die eigenlijk van de markt zullen verdwijnen als ze geen investeringen doen. Uit dit document heb ik na het lezen van wat bedrijfsinformatie 8 bedrijven geselecteerd, die aan de verwachtingen van KBC zouden kunnen voldoen. Namelijk: Fast Search & Transfer, Verity, Autonomy, Endeca, Zylab, Google, Mercado en Convera. Omdat de NAS van KBC een product is van NetApp werd dit bedrijf ook geselecteerd. Na interne besprekingen komt ook Coveo in aanmerking.
7
Hoofdstuk 2 KBC 2.1
Gegevensopslag
Voor het opslaan van gegevens opteerde men bij KBC om over te schakelen op een NAS infrastructuur. NAS staat voor Network Attached Storage, en van een NAS spreekt men als je een storagebox hebt die als fileserver in een netwerk geplaatst is. Een dergelijk apparaat vervangt bijvoorbeeld een Windows server die als fileserver is ingericht. Omdat NAS hiervoor is ingericht, is er maximale aandacht voor perfomantie. KBC heeft nog een aantal informatiekanalen. Na een enqute over communicate die in juni 2005 werd uitgevoerd, kon men besluiten dat 45 % van de medewerkers informatie op deze kanalen niet snel kan terugvinden. Hieraan wil KBC in de toekomst werken. Het delen en opzoeken van informatie op een efficinte en gebruiksvriendelijke manier kan de werkomstandigheden enkel maar bevorderen. Het voorstel dat KBC voorziet is n boomstructuur die alle data omvat. In het begin van mijn opdracht zijn er op deze informatiekanalen al zoekfuncties aanwezig, maar nog niet op de NAS-omgeving. Daarom vroeg KBC mij om een studie uit te voeren naar een mogelijke effici¨ente manier van zoeken op deze infrastructuur. Dit zou dan in een later stadium uitgebreid kunnen worden tot alle intranetten en emailservers, zodat ze over n overkoepelende zoekfunctie beschikken.
8
2.2
Informatiekanalen
KBC website De website is in eerste instantie bedoeld voor de clint. Hij bevat vooral informatie over de producten en diensten die KBC aanbiedt aan de klant. Daarnaast vind je er heel wat achtergrondinformatie over KBC en over bank- en verzekeringszaken in het algemeen. Er is ook een apart luikje over ICT binnen KBC. Kennisbank Kennisbank bevat alle functiegerichte informatie voor de bankkantoren: personeelsinformatie, productgebonden instructies en procedures, handleidingen voor het gebruik van ICT-toepassingen, informatie over commercile acties en campagnes, terminologie, wegwijs, Het is de enige bron van informatie voor de bankkantoren (zij beschikken niet over KBCiNet). Ook de medewerkers van hoofdkantoor vinden heel wat nuttige informatie in de Kennisbank. Vooreerst alle informatie die geldt voor hoofdkantoor n kantoor (vb personeelsinformatie). Die staat sowieso in de Kennisbank. Daarnaast vind je er ook meer en meer instructies en procedures die alleen gelden voor hoofdkantoor, maar dan wel voor groter doelgroepen (vb. gebruik van sommige ICT-toepassingen). Wat is het voordeel van de Kennisbank? De informatie is gestructureerd, eenvormig en gericht op snelle assimilatie. Bovendien beschikt de Kennisbank over een zoekfunctie, die door medewerkers niet als efficint wordt aanzien. KBCiNet KBCiNet bevat een rijk amalgaam van informatie. Je vindt er instructies, procedures en procesbeschrijvingen voor relatief beperkte doelgroepen op hoofdkantoor. Meestal gaat het om informatie voor ´e´en dienst of ´e´en directie. Daarnaast vind je er een rijk aanbod aan niet-instructieve informatie: achtergrondinformatie, verslagen, presentaties, toelichtingen bij het beleid, personeelsgebonden nieuwtjes (promoties, geboortes, mutaties, ). Verder beschikt elk directoraat1 over een eigen stek. Die is gestructureerd op de wijze die het meest geschikt is voor dat directoraat. Veel uniformiteit zal je er dus niet vinden. Omdat we dezelfde informatie liefst geen twee keer publiceren, zijn er nogal wat linken tussen KBCiNet en de Kennisbank. 1
directeurschap, nog eens opzoeken
9
Belangrijk op KBCinet zijn de nieuwsberichten op de startpagina. Deze Nieuwslijn houd je immers op de hoogte van wat reilt en zeilt binnen KBC. K-net K-net is een intranet voor ICT’ers en ???? ICT-verwante profielen ????? bij onze klanten. Onder de tak ICT-Guide vind je de beschrijving van de methodes, processen, tools, procedures e.d. die KBC ICT gebruikt.
2.3
Clientcomputers
Hit/@Hit HIT staat voor Hoofdkantoor Integratie en Transitie. HIT heeft als voornaamste doelstelling het aanbieden van n gemeenschappelijk pc-platform aan alle KBC-medewerkers van Hoofdkantoren (ook de decentrale KBC-vestigingen), Bedrijfskantoren en Private Banking kantoren. Concreet betekent dit dat elke gebruiker vanop iedere HIT-pc, in om het even welk administratief gebouw : • Zijn eigen en dienstgebonden gegevens kan raadplegen. • De meeste toepassingen kan opstarten. • Zijn specifieke pc-instellingen krijgt (bv. stelling, . . . )
scherminstelling, printerin-
Dit noemen we een zwervende gebruiker (roaming user): de gebruiker mag zich verplaatsen naar om het even welk gebouw, als hij daar over een HIT-pc beschikt, kan hij: • Over de meeste toepassingen beschikken. • Over zijn eigen en dienstgebonden gegevens beschikken. Een HIT-pc heeft als besturingssysteem Windows NT @HIT is de naam van onze nieuwe werkplek en bouwt verder op het HITconcept: • Een beveiligde en stabiele werkplek. • Het principe dat je je overal aanmeldt als ’zwervende gebruiker’ en toch toegang hebt tot je gegevens. Je pc met de nodige toepassingen en randapparatuur zoals printers, scanners. . . draait op Microsoft Windows XP.
10
Hoofdstuk 3 NAS 3.1
Wat is NAS?
3.2
Waarom NAS?
3.3
NAS vs SAN
3.4
De NAS van KBC
Hardware NAS: Netapp FAS980 metrocluster. Capaciteit: 11TB waarvan de helft reeds gereserveerd is. Besturingssysteem: ONTAP (door Netapp ontwikkeld) Client: Windows XP Aantal clients: 11000 Zoekgebied Het zoekgebied is natuurlijk beperkt naargelang je rechten hebt op een bepaalde folder. De structuur van de NAS is als volgt: 1. De O:-schijf, ook wel ”Dienstenschijf”genoemd, is een directe weerspiegeling van de organisatiestructuur. Alle organisatorische wijzigingen zullen zich binnen de O:-schijfstructuur laten voelen. Dit heeft als grote voordeel dat je na elke fusie, migratie, mutatie, je steeds met een structuur werkt die de eigenlijke situatie weergeeft. Ook in- en uitdiensttredingen van zowel interne als externe medewerkers worden automatisch verwerkt. De o:-schijf heeft een vaste structuur, die n.a.v. reorganisatie, fusie, ... automatisch wordt aangepast en waaraan de eindgebruiker geen wijzigingen 11
kan aanbrengen. Binnen een folder van een entiteit is eveneens een vaste structuur uitgewerkt maar hier bestaat de mogelijkheid om een eigen onderliggende structuur te creren. Dit laatste is de taak van de verantwoordelijke van deze entiteit. 2. De R:-schijf heeft geen echte ”vaste”structuur. Het is een functionele schijf die je kan gebruiken om informatie op te slaan die je moet delen met gebruikers uit verschillende Directoraten, Directies als Diensten. Een veel gebruikte folder is Datakoepel, waar je een folder kan laten aanmaken om bepaalde pc-gebruikers voor een bepaald project toegang kan laten verschaffen. 3. De Y:-schijf is de persoonlijke netwerkschijf. Standaard zijn er enkele folders aangemaakt waar specifieke informatie bewaard wordt, vb. om bepaalde toepassingen te kunnen opstarten. Op deze schijf is er vrije toegang om folders en subfolders aan te maken/verwijderen en vertrouwelijke informatie te bewaren.
12
Hoofdstuk 4 De mening van de gebruikers
13
Hoofdstuk 5 Zoekmachines 5.1
Eigen visie & Onderzoek
Na het lezen van enkele boeken, en wat logisch redeneren ben ik tot de volgende vaststellingen gekomen. De bestanden die voor de zoekfunctie in aanmerking komen moeten ge¨ındexeerd worden. Dit indexeren zou dan kunnen gebeuren door elk bestand te lezen, en alle voorkomende relevante woorden op te slaan in een gegevensstructuur met een referentie naar het oorspronkelijke bestand. Dit is wel een omslachtig werk, maar dit werk moet maar ´e´en keer volledig uitgevoerd worden. Naarmate een bestand gewijzigd wordt of dat er een nieuw bestand aangemaakt wordt, kan dit dadelijk gendexeerd worden en aangepast worden in de gegevensstructuur. Het eigenlijk zoeken gebeurt dan door een eenvoudige query op de databank. Als extra velden kan met dan nog meegeven hoeveel keer de string voorkomt in dit bestand, op welke datum het bestand aangemaakt werd, wie het bestand aangemaakt heeft, . . . . E´en veld dat zeker niet vergeten mag worden zijn de rechten die zich op het bestand bevinden. We willen natuurlijk niet dat iemand een bestand kan vinden waarop hij geen rechten heeft. Hij zou dan alleen maar van het bestaan afweten, maar kan het uiteindelijk toch niet openen.
5.2
Full-text vs metadata
Full text-zoeken is een term uit de wereld van zoekmachines. Het geeft aan dat de gebruiker een tekstveld krijgt waar deze steekwoorden in kan vullen. De zoekmachine gaat dan met deze woorden zoeken naar documenten die deze steekworden bevatten. Vaak kunnen relaties tussen steekwoorden aangegeven worden, zoals AND, OR en NOT. Full text-zoeken wordt beschouwd als de meest primitieve manier van zoeken. De tegenhanger van full text-zoeken is
14
het zoeken via metadata. De gebruiker krijgt dan niet een vrij in te vullen veld, maar kan zoeken in bepaalde categorie¨en. De zoekmachine van een bibliotheeksysteem zou bijvoorbeeld de velden auteur, titel, jaar van uitgave en uitgeverij kunnen aanbieden. De gebruiker kan nu veel gerichter zoeken, bijvoorbeeld door de opdracht te geven te zoeken naar boeken van auteur Hugo Claus die na 1980 zijn uitgegeven. Een dergelijke opdracht is met een full text-zoekopdracht veel moeilijker te geven. Men zou niet alleen documenten terugkrijgen geschreven door Claus, maar ook boeken over Claus, of boeken waarin hij ergens in het dankwoord voor komt. De tijdsindicatie is met een full text-zoekopdracht ook niet te specificeren.
5.3
Hoe werken internet zoekmachines?
Voor je dit leest, wil ik je toch even meedelen dat het niet mijn bedoeling is om alle mogelijke manieren van zoeken die het Internet aanbiedt te bespreken. Toch wil ik even dieper ingaan op enkele veel gebruikte zoekmachines en waarom ze zo populair zijn. Een zoekmachine (Engels: ”search engine”) is een instrument waarmee men informatie kan zoeken in een bepaalde collectie. Zonder nadere kwalificatie wordt tegenwoordig met zoekmachine meestal bedoeld: een webdienst waarmee met behulp van vrije trefwoorden full text kan worden gezocht in het gehele World Wide Web. Een veelgebruikte zoekmachine is Google, maar er zijn er veel meer.
5.3.1
Technieken
Zoekmachines indexeren webpagina’s geautomatiseerd door middel van robots/spiders. Dit zijn programma’s die webpagina’s downloaden en vervolgens nuttige informatie verzamelen van de pagina, zoals woorden en links. De links worden weer aan de spider als input gegeven om weer gedownload te worden. De gevonden woorden worden opgeslagen in een gigantische database. De zoekmachines werken met verschillende technieken. Oorspronkelijk werkten de zoekmachines met de door de webmasters zelf opgegeven zoektermen (keywords), maar daar werd veel misbruik van gemaakt doordat de webmasters keywords gingen gebruiken die veel publiek trokken, maar geen verband hielden met de inhoud van de pagina, zoals bijvoorbeeld het woord ’sex’. Daarom werden diverse andere alternatieve technieken ontwikkeld. Zo werkt Google onder andere met de populariteit van de websites: het aantal malen dat een website op andere websites wordt vermeld. Ook wikipedia wordt soms wel eens gebruikt om een website op die manier populairder te maken. Dit is niet onjuist als het werkelijk gaat om een informatieve en bij het lemma passende site. Op de websites van de zoekmachines is meestal wel informatie te
15
vinden over hoe ze werken. Het aantal spider-based-zoekmachines is beperkt. Grote internationale zoekmachines zijn Google, Teoma, MSN en Yahoo. Bekende Nederlandse zoekmachines bedoeld om te zoeken naar Nederlandstalige pagina’s zijn Kobala, Ilse en voorheen ook Track. Walhello is een in Nederland ontwikkelde internationale zoekmachine. Er zijn ook metazoekmachines, zoekmachines die werken via de resultaten van andere zoekmachines. Een voorbeeld is Metacrawler en Ez2Find.
5.3.2
Gebieden
De meeste zoekmachines zijn bedoeld om iets op het web te vinden via het HTTP protocol. Het gaat dan om informatie die ook met een browser bekeken kan worden. Daarnaast kunnen sommige zoekmachines ook informatie in nieuwsgroepen vinden. Bijvoorbeeld Google kopieert veel nieuwsgroepen naar de eigen servers, zodat daar in gezocht kan worden. Tot slot zijn er enkele zoekmachines die kunnen zoeken naar bestanden via het File Transfer Protocol.
5.3.3
Zoekmachine-optimalisatie
Zoekmachine-optimalisatie (search engine optimization) is het geheel aan activiteiten bedoeld om een webpagina hoog te laten scoren in de reguliere zoekresultaten van een zoekmachine, op voor de webpagina relevante trefwoorden of zoektermen Sommige websites proberen de zoekresultaten van de zoekmachines in hun voordeel te benvloeden door gebruik te maken van truukjes. Zo vermelden sommige websites in de metatags vele honderden woorden. Of zinnen met steekwoorden hebben dezelfde kleur als de achtergrondkleur van de website; ze zijn dan wel zichtbaar voor de zoekmachine, maar niet voor de bezoeker ( cloaking ). Weer een andere truk is om dezelfde website op verschillende locaties neer te zetten. Deze trukjes werken vaak in het begin even, totdat ze veel gebruikt gaan worden; dan verzinnen de makers van de zoekmachines methodes om dit soort ongewenste optimalisatie tegen te gaan. Tegenwoordig treden makers van zoekmachines harder op tegen zulke ongewenste truukjes waarbij de website zelfs totaal uit de index van de zoekmachine verwijderd kan worden. Zoekmachine-optimalisatie wordt vaak door een specialist uitgevoerd die dit tot hun commercile kernactiviteit hebben gemaakt. Enkele voorbeelden zijn Traffic4u, Gladior, Optimised, Bfac en Checkit. Over het algemeen kun je zeggen dat de beste optimalisatie van een website het leveren van gedegen inhoud ( content ) is in combinatie met een gedegen structuur.
16
5.3.4
Gespecialiseerde zoekmachines
Om de hegemonie van marktleiders als Google te ontlopen richten sommige zoekmachines zich op een bepaald specialisatiegebied. Omdat zij speciaal zijn geconfigureerd om juist voor dit gebied de beste resultaten naar boven te halen denken zij het hierop beter te doen dan algemene zoekmachines. Een van die specialisatiegebieden is de academische wereld. Elsevier Science richt zich met Scopus op deze niche, waarmee zowel wetenschappelijk tijdschriften worden doorzocht, alswel de academische kennis op het Internet door gebruik te maken van Scirus. Web of Science (van Thompson Isi) is een concurrent die negenduizend tijdschriften en een krantenarchief van zestig jaar doorzoekt. Google probeert met CrossRef Search zelf ook een speler in deze markt te worden. Een andere specialisatiegebied voor zoekmachines zijn consumentenproducten. Het Nederlandse El Cheapo heeft zich gespecialiseerd in het vergelijken van bepaalde producten bij verschillende aanbieders. Google doet hetzelfde met Froogle.
5.3.5
Metazoekmachine
Een metazoekmachine is een zoekmachine waarmee een internetgebruiker een zoekopdracht in n keer bij meerdere zoekmachines kan opgeven. De resultaten die die verschillende zoekmachines opleveren worden gecombineerd in ´e´en overzicht aan de gebruiker teruggegeven.
5.4
Request For Information
Request For Information (vanaf nu RFI genoemd) is een officieel document dat tot doel heeft een technisch en financieel voorstel op te leveren. In dit geval een technisch en financieel voorstel dat het mogelijk maakt de eindgebruikers een zoekfunctie aan te bieden op de centrale NAS infrastructuur. Dit document bevat een korte beschrijving van de structuur van KBC en enkele vooropgestelde specificaties. De offertes worden door de opdrachtgever gevalueerd op basis van: 1. De technische kenmerken 2. De kosten 3. De kwaliteit 4. De locatie van de leverancier of partner Nadat de bedrijven geselecteerd werden, heb ik ze vriendelijk gevraagd of het mogelijk was een RFI naar hen op te sturen. Het originele document vindt u 17
in bijlage zowel in het Nederlands als in het Engels. Nadat ik de RFI’s terug ontvangen had, heb ik de bedrijven nog de kans geboden om hun voorstel te komen verdedigen op KBC.
5.5 5.5.1
Geselecteerde bedrijven Overzicht
Partner RFI verstuurd Antwoord Geen deelname Coveo x x Google x NetApp x x Fast Search x x Verity x x Autonomy x x Zylab x x Convera x x Endeca x x Mercado x x
5.5.2
Autonmy
Introductie Autonomy is een bedrijf dat automatische infrastructuur technologie levert voor het verwerken van ongestructureerde informatie. Autonomy zelf zegt dat ze een unieke technologie aanbiedt die het een bedrijf mogelijk maakt zijn informatie te verwerken en terug op te leveren, gestructuurd of niet, en dit van een ongelijksoortige interne of externe bron. De kern van Autonomy is de ’Intelligent Data Operating Layer’ (IDOL). Dit is een platform dat zich in het midden van de informatie van de onderneming bevindt, en zorgt voor een conceptuele en contextuele verstandhouding met deze informatie. Deze volledige infrastructuurlaag analyseert automatisch elk deel van de informatie, of het nu text, stem of video is. De geanalyseerde gegevens kunnen dan gebruikt worden in n van de vele modules die Autonomy aanbiedt. Door gebruik te maken van complexe wiskundige algoritmes en geavanceerde patroonherkenningtechnieken, stelt Autonomy organisaties instaat hun informatie nuttig te gebruiken. In een wereld van informatie overbelasting, Autonomy’s missie is om organisaties te helpen begrijpen wat belangrijk is bij het automatisch onthullen en vrijlaten van kostbare informatie van de omringende ruis. (* noise ? betere
18
vertaling) De technologie die Autonomy aanbiedt is niet afhankelijk van de taal waarin het document is opgesteld, maar van wiskundige formules. Autonomy’s technologie: Een unieke combinatie van technologien: De kracht van Autonomy ligt in een unieke combinatie van technologien die gebruikt maakt van geavanceerde patroonherkenningtechnologien, gebasseerd op Bayesian concludering en Claude Shannon’s principes van informatie theorie. De technologie is beschermd met meer dan 15 patenten, met meerdere patenten die in aanvraag zijn. De software identificeert de patronen die van nature voorkomen in een tekst, op grond van het gebruik en frequent voorkomen van woorden die corresponderen met het specifieke idee of begrip van deze tekst. Gebasseerd op het overgewicht van n patroon tov een ander in een stuk van ongestructureerde informatie, maakt Autonomy het mogelijk dat een computer begrijpt dat er X procent kans bestaat dat een document handelt over een specifiek onderwerp. Op deze manier is Autonomy bekwaam om de digitale essentie van een document te selecteren en een unieke waarde voor de begrippen te coderen. ???? formules Bayesian conclusie: Shannon’s Information Theory:
5.5.3
Zylab
Introductie Zylab is een bedrijf uit Nederland dat al 20 jaar een vaste waarde heeft op het gebied van zoekmogelijkheden. Ze bieden oplossingen voor archiveren, zoeken en opvragen van gescande papieren documenten. Hun applicatie noemt ZyIMAGE. Technologie Documenten worden in hun oorspronkelijk file formaat gendexeerd. Deze indexering vindt plaats op de vaste locatie van de bestanden in hun flat-file structuur. Ze kunnen ook extra metagegevens toevoegen aan een file, hiervoor wordt gebruikt gemaakt van XML-Wrappers. Zylab ondersteund het indexeren van meer dan 300 bestandsformaten en zorgt voor het weergeven van deze formaten dat het niet noodzakelijk is om verschillende plug-ins in de browser te moeten installeren. In de browser wordt de file in een vereenvoudigde vorm getoond. Als men de file vindt die men zoekt, kan deze dan vanop zijn locatie geopend worden.
19
5.5.4
Verity
Introductie Verity is een Amerikaanse onderneming (hoofdkantoor Sunnyvale, Californi, USA). In 1988 is Verity begonnen met de bouw van een full-text search oplossing voor de Amerikaanse CIA en andere Intelligence diensten. Dit was de basis voor de vele succesvolle toepassingen die Verity op de markt heeft gebracht op het gebied van full-text search & retrieval en content classificatie. Verity is genoteerd op de Amerikaanse schermenbeurs NASDAQ met als symbool VRTY. Verity heeft ongeveer 15.000 klanten wereldwijd. Verity is een erkende werweldwijde marktleider op het gebied van Enterprise Search software, ook wel Information Acces Techonology genoemd. (zie Gartner diagram hier boven).
5.5.5
Google
Google werd in 1998 opgericht door twee Stanford Ph.D. studenten, Larry Page en Sergey Brin. Google’s missie is het ontwikkelen van de beste zoekmachine op het Internet door de informatie van de wereld toegankelijk en nuttig te maken. Aan de naam van dit bedrijf hangt een mooie anekdote. Google is een variant van het woord ’googol’, dat gebruikt werd door Milton Sirotta, een neefje van de Amerikaanse wiskundige Edward Kasner, om te refereren naar een getal gerepresenteerd door een 1 gevolgd door 100 nullen. Google’s gebruik van de term weerspiegelts de bedrijfsmissie om de immense hoeveelheid beschikbare informatie op het web en in de wereld te organiseren. De Google Search Appliance is de applicatie waar we in deze thesis genteresseerd in zijn. Deze zorgt ervoor dat de werknemers, partners en klanten die gegevens kunnen vinden die ze nodig hebben, op dezelfde manier als ze het Internet zouden doorzoeken. De Google Search Appliance indexeert alle soorten inhoud op het intranet en websites en biedt een krachtige, bruikbare en rendabele oplossing voor de zoekvereisten van een bedrijf. Dit product dat google aanbiedt bestaat zowel uit een deel hardware als software, en wordt geleverd als een blackbox.
20
Hoofdstuk 6 Lucene 6.1
Inleiding
Na dit onderzoek vroeg ik me af of het niet mogelijk zou zijn om dit zelf te implementeren. Daarom niet zo uitgebreid als de meeste bedrijven vandaag de dag aanbieden. Maar een eenvoudige zoekfunctie zou toch mogelijk moeten zijn. Daarom ging ik op zoek op het Internet naar een open-source mogelijkheid, en vond deze bij de Apache Software Foundation. Apache Lucene is een zeer succesvolle, in Java geschreven zoekmachine bibliotheek. Deze technologie is geschikt voor bijna elke applicatie die full-text zoeken nodig heeft. Apache Lucene is dus een open-source project dat men gratis kan downloaden1 .
6.2
Apache Software Foundation
De Apache Software Foundation (ASF) is een non-profit organisatie die zich bezighoudt met het maken van computer-programmatuur. Een bekend product van de ASF is de Apache webserver, die voor de meerderheid van de webservers op Internet gebruikt wordt. De ASF is de opvolger van de Apache Group en is gevestigd in Delaware in de Verenigde Staten. De ASF is een decentrale organisatie van ontwikkelaars die zich bezighouden met het maken van opensource-software. De Apache projecten worden gekenmerkt door een op samenwerking en consensus gericht ontwikkelproces en het gebruik van een open en pragamatische licentie. Elke project wordt gestuurd door een door de meewerkende ontwikkelaars geselecteerd team van technische experts. De ASF is een meritocratie, wat betekent dat alleen ontwikkelaars die actief bijdragen kunnen worden gekozen. 1
http://lucene.apache.org/
21
En van de doelen van de ASF is het vrijwaren van de ontwikkelaars van juridische claims. Alle programmatuur wordt uitgebracht onder de Apache License. De ASF organiseert elk jaar diverse conferenties, waarin bepaalde projecten in de schijnwerper worden gezet en de ontwikkelaars elkaar kunnen ontmoeten.
6.3
indexeren
6.4
zoeken
6.5
Testing
22
Hoofdstuk 7 Overkoepelende zoekmachine
23
Hoofdstuk 8 Rechten op de NAS Zoals u als lezer al weet is de data op KBC zo goed als ongestructureerd. Er is wel een basis structuur, waarin je de structuur van het bedrijf terugvindt. Maar daaronder is het een hirarchische pool. De zoekfuncties die in aanmerking komen, mogen natuurlijk enkel informatie weergeven waarop je zelf rechten hebt. Veel gebruikers weten niet eens waarop ze rechten hebben en laat staan dewelke. Daarom werd er ook de vraag gesteld om een script te schrijven dat toont op welke folders je rechten hebt en welke rechten.
8.1
Uitlezen rechten
KBC beheert een databank genoemd LanAdmin. Deze databank beschrijft de rechten op alle folders, op alle applicaties, toont ons de adminstrators, geeft een beschrijving van de servers, . Het aanspreken van deze databank gebeurt in KBC met Perl. Wanneer men de benodigde gegevens heeft, kan men uit een *.csv bestand de juiste folders afleiden. Bij KBC behandelt men twee soorten van rechten. Het leesrecht, wat enkel het lezen van de documenten in deze folder toelaat. Het schrijfrecht, wat naast schrijven ook uitvoeren toelaat.
8.2
Perl
Perl staat voor Practical Extraction and Report Language. Perl is een programmeertaal gemaakt door Larry Wall omstreeks 1987 in C++ die de mogelijkheden van C, awk en de command shel heeft samengevoegd. Perl heeft zijn oorsprong gevonden op een Unix-systeem, maar bestaat vandaag de dag voor verschillende operating systemen waaronder ook Windows. Een belangrijk gegeven is dat Perl gratis is. Perl wordt verdeeld onder de ”GNU Public License”, een licentie die bepaalt dat u Perl mag wijzigen zolang u uw eigen versie weer gratis verspeid samen met de C++-source code.
24
In tegenstelling tot andere programmeertalen bevat Perl een interpreter en geen compiler. De code kan worden ”gecompileerd”maar dit is in eerste instantie een syntaxtische controle op de juistheid van de code. Daarna zal de Perl-omgeving bij het uitvoeren van het programma, de gecompileerde code optimaliseren en vervolgens interpreteren tijdens de uitvoering. U zult dus geen ”.EXE¨als eindresultaat terugvinden als gevolg van het compileren-linkenproces. En van de motto’s van Perl is ’There is more than one way to do it’. Deze flexibiliteit is ontzettend handig als je snel een programma voor een gespecialiceerde taak moet maken, maar voor grotere projecten met meerdere programmeurs is het moeilijk homogeniteit in de code te houden en om elkaars programma-onderdelen te kunnen lezen. Perl verplicht je niet om je aan een bepaalde structuur te houden, het geeft je enkel veel mogelijkheden. Indien je wenst kan je zelfs object-georinteerd programmeren. Het is zelfs mogelijk om de code zo cryptisch te maken dat je enkele weken later niet meer weet wat het doet. In vergelijking met andere programmeertalen kan Perl ingeschakeld worden voor allerlei taken. Hierbij kunt u denken aan toepassingen met een grafische GUI-interface, programma’s met toegang tot databases, toepassingen voor het Internet automatiseren (de zogenaamde CGI-programma’s), de taken van een systeembeheerder vereenvoudigen door het maken van Perl-scripts, enz. Gebruikte tabellen? USERID GROUPID ENV EXPDATE MAILSENT Globale oplossing? Script: Elke gebruiker moet op het system inloggen met een UserId, beter zijn Unummer. Aan de hand van deze U-nummer kan je dan de Id’s van de groepen waarin deze gebruiker zich bevindt opvragen (GROUPID). Elke gebruiker heeft nog n of meerdere supergroepen. Deze bepalen de toegang tot publieke folders van andere diensten. Aan de hand van al deze Id’s kan men dan de ResourceId’s opvragen uit de tabel GroupAcl. Wanneer men nu in het *.csv bestand een lijn vindt waarin dit resourceid vermeld wordt, dan kan je uit deze lijn het pad afleiden. En aan de hand van het LA ACCES veld de rechten bepalen.
25
Hoofdstuk 9 Besluit
26