Een hybride zoekoplossing in plaats van SAAS: efficiënter en met unieke karakteristieken

-

Bedrijven hebben een verschillende kijk op hun zoekoplossing. Sommige bedrijven weten dat een zoekoplossing essentieel is voor hun business. Zij begrijpen dat de wereld achter zo’n invoerveld groot en complex is. Het is niet voor iedereen weggelegd om een complete search oplossing zelf te bouwen. Dit vergt een flinke investering en de doorlooptijd loopt geregeld op tot een jaar. Een alternatief voor het zelf ontwikkelen van een zoekoplossing is een SAAS (Search As A Service). Hier kleven echter ook nadelen aan. In dit artikel leggen we uit waarom we voor veel van onze klanten voor een hybride aanpak kiezen als het gaat om search.

Kiezen voor zelfbouw of een SAAS?

Grote bedrijven die zoeken als essentieel onderdeel van hun bedrijfsvoering zien, kiezen vaak voor een zelf gebouwde zoekoplossing. Het ontwikkelen van een eigen zoekoplossing kost veel geld en tijd. Je hebt een team nodig met de juiste kennis en kunde. Daarnaast zijn experts op het gebied van Search zeer gewild, waardoor het behouden van teamleden misschien nog wel de grootste uitdaging is.

Met het technisch installeren van een cluster op basis van open source tools als Solr en Elasticsearch heb je nog geen goede zoekoplossing. Je hebt ook een content pipeline nodig met alles dat gebruikers kunnen vinden, analytics tooling voor het volgen van  gebruikers en een plan voor hoe je denkt gebruikers van datgene te voorzien waar ze naar op zoek zijn. De interactie met je oplossing is essentieel. Later in dit artikel komen we terug op hoe een goede zoekoplossing er volgens ons uitziet.

Een alternatief voor zelfbouw is SAAS (Search As A Service), er zijn meerdere partijen die een vorm van SAAS aanbieden. Zo heeft Elastic zijn App Search, je hebt Algolia, Coveo en nog vele anderen. De verschillende oplossingen hebben veel overeenkomsten en uiteraard ook een aantal onderscheidende verschillen. De oplossingen bieden allemaal een methode om content op te slaan, soms via een website crawler, een API of andere vormen van integratie. De meeste oplossingen hebben een beheertool waarmee je resultaten beïnvloedt en hebben een dashboard voor inzicht in gedrag van gebruikers. Velen bieden een JavaScript component dat je zo op je website kunt plaatsen voor de volledige zoekervaring. Zo’n SAAS klinkt bijna te mooi om waar te zijn, waarom zou je daar als bedrijf niet voor kiezen? Voordat we antwoord geven op die vraag gaan we dieper in op wat wij verwachten van een goede zoekoplossing.

De zoekbox als ingang naar alle informatie op je website

Het ziet er zo eenvoudig uit, een text invoerveld: je vult een paar woorden in en je krijgt een aantal resultaten terug die passen bij de zoekopdracht. De woorden die je hebt ingetikt zijn jouw omschrijving van waar je naar op zoek bent. Stel de winter komt eraan en je hebt een nieuwe jas nodig. Dan ga je naar een website en tik je in “jas”. Dat is een redelijke generieke zoekterm. Je zou er ook voor kunnen kiezen om in te tikken “dikke jas”, of “warme jas” of “winterjas”. De perfecte zoekoplossing begrijpt dit allemaal. Veel zoekmachines werken echter met wat we noemen “keyword search”. Daarmee kijken we naar de exacte termen en zal warm en winter dus niet als hetzelfde worden gezien. Zoekmachines kunnen hier wel wat aan doen, er zijn mogelijkheden om met meer-, enkelvoud te werken, verkleinwoorden veranderen naar de stam, ook werken met synoniemen behoort tot de mogelijkheden. Sommige van deze problemen kun je oplossen door de inhoud van je website aan te passen, zo kunnen we voor een winterjas  tags toevoegen als warm en dik. Deze toevoegingen geven gebruikers het gevoel dat we begrijpen wat zij bedoelen.

Een andere manier om een gebruiker tegemoet te komen tijdens hun search ervaring, is door vast te leggen waar andere gebruikers op klikte die op dezelfde termen zochten. Hierin kun je sommige documenten of producten belangrijker maken dan andere. Dit kan door gebruik te maken van verkoopgegevens, of wellicht eigenschappen die met het seizoen of een trend te maken hebben. Sommige producten worden nu vaker gezocht als de feestdagen er aankomen, of juist wanneer de zomervakantie voor de deur staat.

Als het zo lastig blijkt om de intentie van een gebruiker uit een aantal termen te halen, kunnen we de gebruiker dan niet om hulp vragen? We kunnen de gebruikers terwijl zij haar zoektermen zorgvuldig formuleert, helpen door meteen suggesties te geven met andere zoektermen. Dit gebeurt meestal met een drop down, waarin plaats is voor zoektermen, maar ook voor categorieën en eventueel populaire producten. Zo proberen we gebruikers zo snel mogelijk te helpen om tot de juiste resultaten te komen.

Het vinden van de intentie van de gebruiker wordt gezien als het gouden ei. Veel van de SAAS-oplossingen hebben het over AI Search en Natural Language Processing. Mooie oplossingen, die helaas voor de Nederlandse taal vaak minder goed werken dan bijvoorbeeld in het Engels. Goed testen van de SAAS voor jouw specifieke situatie is daarom van groot belang.

SAAS, wat bedoel je nou eigenlijk?

Wij gebruiken SAAS als afkorting voor Search As A Service. Hiermee bedoelen we een one stop shop voor je zoekoplossing. De service draait in de cloud en je stuurt de content waarvan je wilt dat gebruikers het kunnen vinden hiernaartoe. Dan heb je een API waarmee je verbindt om queries uit te voeren en resultaten terug te krijgen. Meestal is er ook nog een soort beheertool waarmee je extra configuraties kunt uitvoeren. Veel van de beschikbare SAAS-oplossingen hebben een gratis instapmodel en kunnen tot enterprise niveau groeien. Het is slechts een kwestie van creditcardgegevens uploaden, wat JavaScript op je pagina plaatsen en de zoekmachine is binnen no time ingericht voor gebruikers.

Afhankelijk van de gekozen weg met een SAAS heb je nauwelijks tijd van een ontwikkelaar nodig om een betere zoekervaring te geven. Dit klinkt als de ideale wereld, waarom hebben we het dan toch over een andere benadering? Dit is vooral omdat we zien dat de one-size-fits-all oplossing op de langere termijn vaak te kort schiet. Door gebruik te maken van standaard front-end (JavaScript) is het moeilijk om je te onderscheiden. Het gebruikte algoritme om te bepalen welke resultaten het meest relevant zijn is nauwelijks aanpasbaar. Om met zaken als clicks en verkopen te kunnen werken, moet je de SAAS-aanbieder wel heel veel data over jouw bedrijf geven. Wil je de aanbieder zoveel inzicht in je business geven? Raak je daarmee niet juist relevante kennis kwijt doordat de SAAS-aanbieder deze gegevens als een black box gebruikt en niet met je deelt?

Een eigen oplossing kost heel veel tijd en vraagt veel kennis van je team. Kiezen voor een SAAS heeft veel voordelen, maar ook  een aantal uitdagingen. In het volgende deel van deze blog bespreken we een alternatief voor volledige zelfbouw en SAAS, de hybride zoekoplossing.

De hybride zoekoplossing

Voor ons is de hybride zoekoplossing de perfecte combinatie tussen een snelle start (door gebruik te maken van bestaande kennis) en een aantal herbruikbare componenten die zorgen voor flexibiliteit (door de zoekoplossing in te richten voor jouw business). De herbruikbare componenten focussen op zaken die de meeste zoekoplossingen nodig hebben. Denk hierbij aan een tool voor het beheer van een data import pipeline, tools voor het verbeteren van resultaten door synoniemen, uitzonderingen op algemene regels voor bijvoorbeeld stemming.

Naast deze herbruikbare componenten maken we bij een hybride oplossing ook gebruik van een standaard proces, teamopbouw en hebben we voorzieningen voor het installeren van de totale zoekoplossing in de cloud. Hierdoor kunnen we snel testen en een productie omgeving opzetten. Een zoekoplossing wordt hybride wanneer onze experts, eventueel samen met techneuten van jullie bedrijf, een standaard zoekoplossing aanpassen aan de behoeftes van jouw klant. Zo kunnen we de query die we afvuren op bijvoorbeeld AWS OpenSearch aanpassen. Wij gebruiken meerdere stappen in een query waarmee we bij geen of weinig resultaten een andere query uitvoeren die wel resultaten geeft. Hiermee voorkomen we te veel resultaten, maar ook te weinig. Zo kunnen we bijvoorbeeld een query maken die om kan gaan met tikfouten, wanneer je dit standaard doet is de kans op te veel en niet relevante resultaten groot.

Met een hybride oplossing kun je ook machine learning gebruiken om resultaten te verbeteren. We kunnen modellen trainen die op basis van clicks en verkoopcijfers de volgorde van resultaten optimaliseren of de query aanpassen op basis van Natural Language Processing, maar ook reguliere expressies als dat efficiënter is.

Een andere module die meestal aandacht vraagt is het importeren van content. Vaak moet content gecombineerd worden vanuit meerdere bronnen, content aangepast worden en soms zelfs verrijkt met externe bronnen. Ook dit is met een hybride oplossing goed te doen: je hebt de manier waarop je met content omgaat volledig zelf onder controle. Met bestaande componenten helpen we daarbij wel om het bouwen van een index op de achtergrond te ondersteunen, waardoor er geen downtime is.

We zien de hybride oplossing dan ook als een mooie kans om met jou als bedrijf samen te werken aan de best mogelijke zoekoplossing voor klanten. Deze samenwerking kan op technisch vlak zijn, maar ook op search inhoudelijk vlak. Samen stippelen we een route uit om een zoekmachine neer te zetten die we constant blijven verbeteren. We houden nieuwe technologie maar ook trends in de gaten om zo je bedrijf te blijven ondersteunen. Het is wel belangrijk dat je hier als bedrijf zelf bij betrokken blijft. Zonder betrokkenheid is het onmogelijk om de perfecte oplossing te creëren. Jullie kennen de strategie van de organisatie en de wensen van klanten immers het beste.

Ben je geïnteresseerd is zo’n hybride aanpak voor Search? Neem dan contact met ons op. Wij verzorgen graag een demo op basis van jouw data en laten we zien wat mogelijk is op gebied van Search.