Werken met search voor een website kan heel leuk zijn. Het is een beetje als het verzamelen van paddestoelen uit het wild. Dezelfde drie stappen.
Inhoudsopgave
Je gaat het bos in om ze te verzamelen, wat vol ontspanning en verwachting kan zijn. Je neemt mee naar huis wat je vindt en bereidt je voor op conservering. En in de derde fase krijg je te eten wat in voorraad was. Alle drie de fasen zijn belangrijk en kunnen professioneel leuk of vervelend zijn. Laat me u door de stappen leiden.
Verzamelen van de gegevens
Je moet naar de dataruimte, in dit verhaal een website, om de gegevens te verzamelen die je wilt indexeren. Dit wordt meestal gedaan door een (ro)bot of crawler die ergens op je indicatie begint en de links volgt om de ruimte te ontdekken en de data op te pikken. Een andere mogelijkheid is om een API te gebruiken om alle informatie van de backend van uw website te verzamelen.
Stel je een bos voor en je moet de paddestoelen vinden. Soms is het meer als oogsten en soms is het meer als hard werken. Slootjes, glibberige takken, wilde dieren, insecten. Het hangt er allemaal vanaf hoe goed de pagina’s gestructureerd zijn en of ze goed op elkaar aansluiten. In deze eerste fase geef je meestal instructies en grenzen aan de crawler. Begin hier en hier te zoeken, ga niet verder dan het bos of een bepaald pad, raap geen blauwe paddestoelen op, let op de beren en blaas op de hoorn als je klaar bent.
Voorbereiden en verbeteren van de data
Als je de data hebt opgehaald kun je deze verrijken. Stel dat je de paddestoelen mee naar huis hebt genomen, dan wil je ze schoonmaken (sommige met water, andere met een borsteltje), een beetje sorteren (insecten) en misschien sommige waarvan je vermoedt dat ze giftig zijn, verwijderen. Het voorbereiden van de gegevens die u hebt, kan een aantal processen omvatten. Een daarvan is dat je kunt werken met semantiek. Je kunt synoniemen en hyperoniemen gebruiken om meer betekenis te geven aan wat je hebt. U kunt nagaan of woorden bij elkaar horen en ze als zodanig markeren. Het kan nodig zijn om gegevens te splitsen op basis van de taal waarin ze gesteld zijn. En dan zijn er nog taken die heel specifiek kunnen zijn voor het recept dat u in gedachten hebt. Productnamen, personen, categorieën moeten misschien worden gemarkeerd.
Zodra al dit werk aan de gegevens is gedaan, worden ze in een index gezet om ze snel terug te vinden. Een beetje zoals de index op een boek.
Resultaten vinden
De derde stap is het aanbieden van een zoekbox en pagina om het eigenlijke zoeken te doen. In de meest eenvoudige variant is dat gewoon zoekwoorden invoeren en een lijst met resultaten zien. Maar je kunt veel verder gaan en er zijn een aantal mogelijkheden om de ervaring van het zoeken te verbeteren.
Je zou filters of facetten kunnen willen hebben, autosuggest, spellingcorrecties, markeren van resultaten in context, aanbevelingen of pushen van bepaalde resultaten die je waardevoller acht. Ook hier kan Natural Language Processing (NLP) een rol spelen en de persoon die zoekt kan in dagelijkse taal typen om te zoeken.
In principe is deze derde stap het doel en als de eerste twee goed zijn gedaan zou de bezoeker in staat moeten zijn om te krijgen wat nodig is en misschien zelfs geïnspireerd worden om verder te kijken vanwege de aanbevelingen. Het hangt ervan af hoe goed de interacties worden getoond en werken, of er een verleidelijke User Experience is.
De site search op deze website
In het verleden heb ik meestal gewerkt met Google Search Applicatie, Algolia, SiteSearch 360 en een oplossing gebaseerd op Elastic Search.
Voor deze site gebruiken we de Jetpack plugin oplossing van WordPress. Een krachtige oplossing die veel werk uit handen neemt en waarvan ik de presentatie heel goed vind.