Search is steeds meer beschikbaar als service en de manier van zoeken evolueert continue. Tegenwoordig is de implementatie van search dan ook niet meer simpel het toevoegen van een bak techniek aan je website of webshop. Nee, search is ook vooral een tool; onze klanten willen search en de resultaten echt kunnen managen, controle hebben over wat een gebruiker krijgt aangeboden en daarbij de customer journey zo ook echt goed op maat te maken.

Search as service dus? Juist, exact! Search as a service is steeds meer een standaard en het aanbod is breder en breder. Welke tool je gebruikt hangt af van je je use-case; wil je personaliseren, wil je vooral een goede live search, heb je een complexe data-set? Allemaal vragen die bepalend zijn voor je keuze en vandaag zoomen we iets meer in op Algolia.

Wat weet Dennis van Algolia?

Door de vragen aan een ervaringsdeskundige te stellen, willen we wat dieper in gaan op de features, de verschillen met andere oplossingen en waar je op let bij de implementatie.

Dennis, wie ben je en wat doe je zoal bij Mooore Digital?

Ik ben Dennis en ben bij Mooore Digital veel bezig met integraties, ik ben gespecialiseerd in het tot stand brengen van koppelingen tussen diverse systemen die onze klanten gebruiken.

Eén van de integratie-specialisten binnen Mooore Digital dus. Wat maakt dit facet van jullie vak zo interessant?

Als je zo’n nieuwe case krijgt, is het altijd weer net iets anders, het is telkens weer iets nieuws. Dat zit in de API, in de data-structuur, de systemen zelf verschillen natuurlijk ook en dat maakt het zeer variërend. Vooral het samenvoegen van alle data, ervoor zorgen dat alles samenkomt, is altijd weer een mooie puzzel die gelegd mag worden.

Wat ook leuk is, is dat je met zeer veel verschillende stakeholders te maken hebt.

We doen ook regelmatig implementaties van search as a service, een SAAS oplossing voor het kunnen zoeken, en dan zien we vaak Algolia. Is er nog meer dan Algolia of is Algolia het enige wat acceptabel is?

In principe zijn er veel meer systemen, zo is Elastic Search binnen het Magento pakket een bekende en veelgebruikte tool.

Er zijn redelijk wat partijen die producten aanbieden op het gebied van search en zo bieden wij zelf ook wel andere tools zoals bijvoorbeeld Tweakwise, wat zich overigens wel iets meer op merchandising en de personalisatie richt, maar Algolia is wel wat we veel gebruiken en daar zijn meestal ook wel specifieke redenen voor.

Wat gebruiken jullie dan nog meer voor klanten, naast bijvoorbeeld Tweakwise? En wanneer zet je Algolia het liefst in?

Ja, vooral dus Elastic Search en dat is gelijk wel het meest gebruikt voor search. Algolia zetten wij eigenlijk vooral graag in wanneer je in een multi-platform context e-commerce bedrijft.

We gebruiken Algolia verder ook graag wanneer we in het platform van de klant met veel verschillende data-typen te maken hebben. Als je bijvoorbeeld gewone simpele content zoals posts biedt in combinatie met geavanceerde product-data én kennis-artikelen én vraag-en-antwoord secties.

Voor een klant zoals Hanzestrohm hebben we bijvoorbeeld te maken met zeer uitgebreide productdata, die bovendien ETIM geclassificeerd is, een DAM (Bynder), een externe WordPress website voor kennis-artikelen en blogposts en dan ook nog weer vraag en antwoord op product-niveau. Als we Algolia inzetten, dan is het al gauw een meer ingewikkelde case waar relaties tussen verschillende type data ook belangrijk is.

Oke, Algolia. Als we daar dieper op inzoomen, wat kenmerkt Algolia en wat voor features biedt dat precies?

In de eerste plaats zijn ze heel sterk in typo-tolerance, maar wat in mijn ogen de sterkste kant van Algolia is, is de mate waarin het echt als tool voor onze klanten te gebruiken is. Algolia kent een groot gebruiksgemak voor het managen van de zoekresultaten, het maken van zoekgedrag analyses en verder optimaliseren van de zoekmachine.

Hoewel we het verder weinig gebruiken kent Algolia ook AI, op basis waarvan er optimalisatie wordt gedaan maar wat voornamelijk wordt ingezet voor personalisatie. Maar zoals gezegd zetten onze klanten daarvoor eerder andere tools in, zoals Tweakwise, Datatrics of Squeezly.

In tegenstelling tot de traditionele zoekfunctionaliteit, vaak gewoon onderdeel van je applicatie, kost zoiets als Algolia geld. Waarin maakt dit dan het verschil ten opzichte van de gewone traditionele search?

Naast de features die ik net al noem, is Algolia ook écht maar dan ook écht veel sneller. Response is binnen 1 mili-seconde, zeer geschikt voor instant search.

Je kunt het gebruik van je search veel meer diepgaand analyseren en op basis daarvan optimaliseren en de gepresenteerde zoekresultaten finetunen.

Oke, het is helder wanneer je een service als Algolia gebruikt en wat het verschil is ten opzichte van andere services en de traditionele search, maar is het ook wel een beetje leuk om te implementeren?

Vaak is het zo dat wanneer Algolia ter sprake komt de klant een hele specifieke wens heeft en dan is het leuk dat je met de ervaring in alle verschillende use cases echt de klant kunt helpen met het uitdenken en vervolgens inrichten en juist ontwikkelen van alle events. En, hoewel ik de front-end meestal niet voor mijn rekening neem, kan dat ook een hele leuke uitdaging zijn in combinatie met bijvoorbeeld instant search.

Wat ook wel prettig is, is dat de Algolia documentatie heel duidelijk is. Dat werkt fijn en is zeker niet altijd en overal vanzelfsprekend, het is niet altijd zoals het hoort te zijn. Het grootste en leukste blijft vooral de puzzel in het goed bij elkaar brengen van alle data en dat op de juiste wijze interpreteren en representeren, ervoor zorgen dat de juiste resultaten op het juiste moment naar voren komen en de relevantie van een hoog niveau maakt.

In het geval van het voorbeeld wat ik net gaf, het Hanzestrohm productenportaal, heb je bijvoorbeeld bij de zoekterm “spijker” wel 6 verschillende data-typen: we hebben categorieën, we hebben thema’s, uiteraard de producten maar ook nieuws, referenties en leveranciers en zelfs kennisartikelen en blogposts. Zie er dan maar eens voor te zorgen dat alles, ook nog in de juiste volgorde, op relevante wijze naar voren komt en dat je, als klap op de vuurpijl, bijvoorbeeld ook nog de duurdere producten netjes vooraan presenteert of dat je rekening houdt met voorraad. The devil is in the details en dat afstemmen, het goed uit te denken met de klant om het vervolgens ook zo kunnen programmeren, is erg leuk om te doen.

:slight_smile:

Zijn er nog bepaalde features die je graag voor een klant zou implementeren?

Ja, er zijn momenteel 2 grotere nieuwe features. De eerste is de personalisatie tool en dat is natuurlijk altijd interessant. Hier gebruiken we dus al wel CDP (customer data platformen) voor en dus weet ik niet of we hier snel Algolia voor zullen inzetten, maar ik ben wel geïnteresseerd in de techniek.

Een tweede vrij nieuwe feature is dat onze klanten zelf ook kunnen bepalen welke informatie ze in de zoekresultaten aan hun gebruikers tonen. Waarom dat me leuk lijkt is omdat het nog weer een extra uitdaging is om rekening mee te houden. Hoe zorgen we ervoor dat we aan de ene kant goed programmeren en het nog wel voldoende beheersbaar blijft voor de klant en hoe zorgen we er aan de andere kant juist weer voor dat we de klant ook niet teveel mogelijkheden geven zodat ze er, oneerbiedig gezegd, geen zooitje van kunnen maken.

Het is een leuke combinatie bij elkaar: goed analyseren, goed adviseren en tot slot natuurlijk implementeren. Waarbij Algolia voortdurend doorontwikkeld en je er mooie cases mee kunt bouwen.

Waar let je op als collega’s een implementatie doen? Zijn er bepaalde tips en tricks of beter: fouten die je maar beter kunt voorkomen?

Ten eerste geef ik vooral mee dat je moet proberen om de resultaten niet te beïnvloeden. Als je een search engine goed z’n werk wilt laten doen, moet je ervoor zorgen dat je het niet zo ingewikkeld maakt dat je niet meer ziet wat jouw werk is of dat van het algoritme.

Je maakt het jezelf erg lastig als je kleine puntjes modificeert, dat maakt het gedrag op den duur niet te doorgronden. Hiermee bedoel ik bijvoorbeeld dat je bij de search query user input aanpast zodat bepaalde resultaten naar voren komen. Denk aan het toevoegen van suffixen of prefixen aan de search query of ook wel het meesturen van filters op basis van de query, dat zijn dingen die ik toch regelmatig mis zie gaan.

Al met al zijn het de details waar je je goed bewust van moet zijn en daarbij is het ook heel belangrijk om alle features van Algolia goed te kennen, zodat je geen features ontwikkelt die Algolia zelf biedt en zo een by design al snel out-dated implementatie doet.

Zijn er nog meer, niet technische, uitdagingen bij een implementatie?

Wat ook altijd een leuke uitdaging is, is de instant search. Hier kun je hele mooie dingen mee doen, maar je komt altijd op een punt dat je heel goed moet kijken of je de Algolia standaard goed gebruikt en echt accepteert of dat je je eigen implementatie ontwikkelt. Het is natuurlijk ook aan ons om de klant goed te adviseren, want een eigen implementatie is nooit een doel op zich en de klant wil graag betrokken worden in de overweging.

Het is, ook al is het natuurlijk leuk om veel development te doen, wel aardig als een traject niet heel lang duurt en het proces stroperig wordt.

Nog één slotvraag: Magento heeft tegenwoordig netjes Elastic Search geïntegreerd en biedt via settings ook wel redelijk controle over het zoekgedrag. Wat vind je daarvan? Zou je dan nu nog steeds Algolia adviseren?

Ik zou Algolia vooral laten afhangen van de case, het ook alleen adviseren bij een specifieke wens op het gebied van search. Elastic Search, standaard in Magento aanwezig dus, voldoet in heel veel gevallen dus echt wel prima en biedt ook goede performance. Algolia kan natuurlijk ook om redenen van beheer een wens zijn, want voor het echt specifiek beheren van zoekresultaten bij Elastic search heb je wel een developer nodig en dat zal terugkerend zijn bij gewenste wijzigingen in het zoekgedrag.

De vraag die de klant zich in mijn optiek ook altijd goed moet stellen, is wat hun behoefte is qua beheer. Als je die controle wilt over de resultaten dan is Algolia top en ook echt wel een heel aantal niveaus beter dan de gemiddelde Magento module, zoals Mageworx SEO oid, die ook wel mogelijkheden biedt tot beheer.

Waar ligt het punt om verder te kijken dan standaard Magento?

Ik heb het eigenlijk al benoemd: wanneer je dus verschillende datatypen hebt. Dat gaat bij Algolia toch wel iets beter en scheelt enorm veel werk wanneer je alle benodigde indexen allemaal zelf zou moeten ontwikkelen.

Tóch nog één ding: moet je nu een Magento expert zijn om de integratie tussen Magento en Algolia op te kunnen zetten? Wat is jouw persoonlijke ervaring als developer die meer doet dan alleen Magento?

Ik denk dat je, mits je de Algolia module gebruikt (wat ik wel zou aanraden, want deze is echt heel uitgebreid), zeker wel kennis moeten hebben van Magento. Het “event-systeem” van Magento is zo’n typisch onderdeel wat je goed zou moeten snappen. Op zich is het niet zo dat je hele diepgaande Magento-kennis nodig hebt en bovendien zijn dit soort onderdelen binnen Magento ook wel keurig gedocumenteerd en ook Algolia is meer dan uitstekend gedocumenteerd.

Moet je echter in de front-end aan het werk, dan is die diepere Magento-kennis wel belangrijk. Zonder die diepgaande kennis van Magento front-ends wordt het wel pittig, maar met ook steeds meer headless development is er steeds meer vrijheid en kun je met een React of Vue front-end lekker los gaan.

Voor de integratie zou ik dus aanraden om de Algolia module te gebruiken, de Magento DevDocs van met name het event-systeem goed te volgen naast dus uiteraard de documentatie van Algolia zelf.

De conclusie is dus dat als je aandacht wilt geven aan search in je e-commerce platform Elastic Search in het geval van Magento zeer goed voldoet, maar is je platform groter en heb je te maken met meerdere type data, dan is Algolia de tool om te gebruiken.

Als bonus heb je extra controle over het gedrag van de zoekmachine en kun je zoekgedrag diepgaand analyseren waarna het aanpassen van je resultaten dus tot de mogelijkheden behoort.

Yes, dat klopt eigenlijk wel zo’n beetje. Als je wilt beginnen, kun je natuurlijk ook de gratis versie gebruiken om te verkennen of het waarde voor je platform heeft. In de gratis versie ben je uiteraard beperkt in je aantal requests en de meeste van onze klanten kunnen daar niet mee uit de voeten, maar ook deze versie biedt out-of-the-box wel aardig veel waarde.

Dennis is dus specialist in integreren van verschillende systemen en zorgt, samen met collega’s, voor vlekkeloze implementaties van diverse tools zoals onder andere ook Algolia. Heb je vragen of opmerkingen of wil je gewoon eens wat hulp, een goede kickstart, dan kun je altijd een berichtje sturen naar de**is@mooore.nl of gewoon een keer op een vrijdagmiddag langswippen.

Heb je een concreet vraagstuk voor een implemenatie, heb je de wens om Algolia in te zetten op je platform, ook dan kun je uiteraard contact met ons opnemen voor meer informatie.

Ook interessant

Design als integraal onderdeel van je development proces

Ontwikkelen op basis van een roadmap

Case: Project Gezond App met Algolia

Advies of ondersteuning bij implementaties?

Leg ons je case voor, vertel ons er meer over.

Contact opnemen