Het succesverhaal achter onze zoekmachine op maat
Ben je nieuwsgierig hoe websites je helpen om snel te vinden wat je nodig hebt? Laten we je meenemen in het bouwen van de zoekmachine voor de nieuwe website voor GVB, waar we een slimme zoekmachine implementeerden om het leven van de gebruikers makkelijker te maken.
Context
Bij Infi zijn we voor GVB bezig met een nieuwe website. GVB is een Nederlands openbaar vervoerbedrijf dat verantwoordelijk is voor het beheren en exploiteren van het openbaar vervoer in en rond Amsterdam.
Een van de problemen van de oude website is dat informatie moeilijk te vinden was en de informatie niet altijd even up-to-date is. Dit willen we verbeteren voor onze reizigers!
Heldere doelen stellen
Voordat we begonnen, was het essentieel om te begrijpen wat we willen bereiken: een eenvoudige en snelle manier voor onze gebruikers om de informatie te vinden die ze nodig hebben. Of ze nu reisinformatie opzoeken, nieuwsartikelen willen lezen of antwoorden op veelgestelde vragen nodig hebben, we willen dat het zoeken soepel en snel verloopt.
De juiste technologie
Om onze zoekmachine te bouwen, is het belangrijk om de juiste technologie kiezen. We hebben onderzoek gedaan naar verschillende opties en zijn bij drie kandidaten uitgekomen: Azure Cognitive Search, Elastic Search, en Algolia.
- Azure Cognitive Search: Dit is een krachtige zoektechnologie met geavanceerde AI-mogelijkheden, ideaal voor diepgaande inzichten uit zoekgegevens.
- Elastic Search: Bekend om zijn schaalbaarheid en flexibiliteit, geschikt voor complexe zoekvereisten en aanpasbaarheid.
- Algolia: bekend om het gemak in gebruik en een speler die ook al langer op de markt is.
Uiteindelijk hebben we voor Algolia gekozen, omdat deze ingebouwde ondersteuning voor onze databronnen heeft. Daarnaast biedt het ook gebruiksvriendelijke en kant en klare React componenten om te gebruiken op de website.
De indexatiestrategie
Een van de cruciale stappen was het bepalen van onze indexatiestrategie. Indexeren is het samenstellen van een data bron die gebruikt kan worden om door een te zoeken. Zie het als inrichten van een boekenkast in bibliotheek. Welke boeken zet je bij elkaar?
Het gaat erom hoe we de gegevens structureren en aanbieden voor zoekopdrachten. We willen de zoekresultaten zo relevant mogelijk maken.
- Meertaligheid: Omdat we zowel een Nederlands als Engels publiek bedienen hebben we er voor gezorgd dat onze zoekmachine meerdere talen ondersteunt. Als je Nederlands en Engels spreekt wil je dat de zoekmachine begrijpt wat je bedoelt. Dat betekent ook dat Engelse sprekers niet geïnteresseerd zijn in Nederlandse resultaten.
- Meerdere bronnen: Ons bedrijf haalt informatie uit allerlei bronnen, zoals reisinformatie, nieuws en FAQ’s. Het was belangrijk dat onze zoekmachine al deze informatie kon doorzoeken en de juiste resultaten kon vinden.
- Continuïteit van Indexatie: we een systeem opgezet om ervoor te zorgen dat onze zoekmachine later makkelijk uit te breiden is. Zo kunnen we later andere systemen aansluiten om nog meer resultaten vindbaar te maken voor de gebruiker.
- Snelheid van resultaten: Reisinformatie veranderd continu. Om te zorgen dat de gebruiker altijd het laatst nieuws vindt is ervoor gezorgd dat resultaten binnen enkele seconden terug te vinden zijn op de zoekpagina. Zo weet je altijd wat er speelt.
Data (bijna) rechtstreeks van de bron
Om data van de bron om te zetten en bij de zoekmachine te krijgen maken we gebruik van een event-based systeem. Dit systeem stelt ons in staat om via een publisher/subscriber pattern meerdere bronnen (content en reisinformatie) aan te sluiten. Het “publisher/subscriber” patroon is als een luidspreker (uitgever) die interessante dingen aankondigt, en mensen (abonnees) die luisteren en reageren wanneer dat gebeurt, waardoor informatie wordt gedeeld en acties worden ondernomen.
Neem bijvoorbeeld het publiceren van een nieuwsartikel. Hier komt een berichtje uit dat bij alle luisteraars aan komt. Die gaan ermee aan de slag om de data om te toveren tot een model dat voor de zoekmachine begrijpt en vervolgens toevoegt. Nu kan de gebruiker het nieuwsartikel vinden. Als er in de toekomst andere bronnen aangesloten moeten worden kunnen we simpelweg nieuwe uitgevers toevoegen.
Resultaat
Dit is ons verhaal van hoe we een zoekmachine bouwden die werkt zoals jij dat wilt. Of je nu een technologie-expert bent of gewoon iemand die snel antwoorden zoekt, we hopen dat je begrijpt dat het bouwen van een zoekmachine een beetje als het samenstellen van een perfecte puzzel is. Maar als de puzzel eenmaal in elkaar zit helpt het iedereen om de informatie te vinden die ze nodig hebben.
Als je meer wilt weten of vragen hebt staan we altijd voor je klaar. Dank je wel voor het delen van deze reis met ons!