Event | IT Press Tour, Malta
Sergey Nikolaev windt er geen doekjes om: groeien met zijn bedrijf of voor een schappelijk bedrag worden overgenomen. En hij denkt hoge ogen te gooien, want volgens hem is het Russische Manticore Search de beste zoekmachine voor bedrijven met grote datasets en beter dan Elasticsearch. Een kennismaking, die zich voordeed tijdens de IT Press Tour voor Europese journalisten op Malta, begin december 2024.
Tien jaar geleden nam Computable deel aan een persreis van IT Press Tour naar Sunnyvale, Califonië, om er een aantal startups te ontmoeten. Elasticsearch, in 2010 opgericht door Shay Banon, was een van hen. Als vervolg op de door hem ontwikkelde zoekmachine Compass die hij had gebouwd voor zijn vrouw om haar recepten te beheren terwijl ze studeerde aan de Cordon Bleu culinaire school. Elasticsearch koos Amsterdam als vestigingsplaats, vanwege de strategische voordelen die de stad biedt. Amsterdam is een technologisch en innovatief centrum in Europa, met een sterke infrastructuur en een bloeiende startup-cultuur. Inmiddels gebruiken duizenden bedrijven en organisaties de zoekmachine, variërend van kleine startups tot grote ondernemingen zoals Netflix, Uber, en eBay.
Nikolaev heeft geen hoofdkantoor. Zelf is hij gevestigd in Thailand; mede-ontwikkelaars in Montenegro en Rusland. Hij is niet persoonlijk aanwezig op Malta; als Rus kreeg hij geen visum om naar de Europese Unie te reizen. We spreken hem via een Zoom-verbinding. Behalve ceo en mede-oprichter van Manticore Search, is Nikolaev al bijna zestien jaar cto van Ivinco, een it-consultancybedrijf gespecialiseerd in Kubernetes en cloudoplossingen, gevestigd in het Verenigd Koninkrijk.
Mythologie
Tien jaar na de eerste kennismaking met Elasticsearch dus een ontmoeting met zijn uitdager: Manticore, genoemd naar een legendarisch wezen uit de Perzische mythologie, vaak beschreven als een monster met het lichaam van een leeuw, het gezicht van een mens en een staart die lijkt op die van een schorpioen. Het is voor Nikolaev te hopen dat het niet bij een legende blijft. Aan de andere kant: hij is overtuigd van de superioriteit van zijn database voor zoekopdrachten.
Een zoekmachine moet antwoorden snel leveren tegen minimaal resourceverbruik
Manticore is een vervolg op Sphinx Search (Nikolaev heeft iets met verzonnen wezens), een opensourcezoekmachine, ontworpen voor snelle en efficiënte zoekopdrachten in grote datasets. Het werd opgericht door Andrew Aksyonoff in 2001. Sphinx Search bood krachtige full-text-zoekmogelijkheden en werd gebruikt door grote websites zoals Craigslist en Groupon.
In 2017 splitsten leden van het oorspronkelijke Sphinx-team het project af onder de naam Manticore met de bedoeling bugs te repareren en nieuwe functies te ontwikkelen. In tegenstelling tot Sphinx wordt Manticore nog steeds vrijgegeven als opensource onder versie 3 van de GPL.Volgens Nikolaev is in 2017 verdere ontwikkeling van Sphinx Search gestopt.
C++
Nikolaev over het vervolg op Sphinx: ‘We wilden het project levend en opensource houden. Ondersteuning voor nieuwe technologieën ontwikkelen. Streven naar eenvoudigere configuratie en gebruik. En natuurlijk wilden we de prestaties verbeteren.’ Met ‘we’ doelt hij op een groep mede-ontwikkelaars in C++ (vanwege de gewenste snelheid) en PHP; de meesten ex-Sphinx. Zo ook Gloria Vinogradova die nu bij Manticore de socialemediamarketing doet. In totaal negen mensen.
‘Voor verbeteringen moesten we een aantal pijnpunten oplossen: trage uitvoering van zoekopdrachten, een hoog verbruik van bronnen, er waren schaalbaarheidsproblemen, bij complexe queries was er geen sql-ondersteuning. En tenslotte waren er complicaties bij installatie en onderhoud’, geeft Nikolaev aan voor welke uitdagingen het team stond.
Het resultaat volgens hem? Gebruiksvriendelijk. Sql- en json-ondersteuning. Multi-modelopslag: rij- en kolomgewijs. Hoge prestaties met minimale middelen. Geavanceerde zoekfuncties. Zeer schaalbaar. Naadloze integratie met populaire databases. En natuurlijk volledig opensource. ‘We zijn er trots op dat we opensource zijn. Wij geloven dat fundamentele technologieën zoals databases en zoekmachines voor iedereen beschikbaar moeten zijn. Daarom worden alle Manticore-producten vrijgegeven onder OSI goedgekeurde opensourcelicenties, waardoor ze vrij te gebruiken en toegankelijk zijn voor iedereen die erop wil bouwen.’
Over snelheid: ‘In de wereld van vandaag, waar geduld wordt gemeten in milliseconden, is wachten op resultaten onaanvaardbaar. Een zoekmachine moet antwoorden snel leveren tegen minimaal resourceverbruik. Waarom zou uw zoekmachine een serverpark nodig hebben? Gewoon blijven draaien. De zoekmachine moet geweldige prestaties kunnen leveren zonder buitensporig veel hardware nodig te hebben.’
En over schaalbaarheid: ‘Veel tools beloven schaalbaarheid, maar wanneer data begint op te stapelen, voelt het vaak als het beklimmen van een ladder die een paar treden mist. En het beheer van replicatie, dat cruciaal is voor schaalbaarheid, voegt alleen maar meer complexiteit toe.
Herstel van typefout
Nikolaev toont een onderzoeksdemo. ‘In deze demo hebben we een zoek-app gebouwd die lijkt op wat GitHub gebruikt voor het vinden van problemen, maar met wat toegevoegde functionaliteit en verbeteringen. Als we ‘verb’ intikken, komt de auto complete-functie meteen met ‘verbeter’, zodat een zoekopdracht sneller is op te geven. Dit is een voorbeeld van Manticore’s query-suggesties in actie, het helpen van gebruikers om kleine fouten moeiteloos op te lossen. Maar wat gebeurt er als ik een query met een typefout instuur? Dat is waar Manticore’s fuzzy search om de hoek komt kijken. Het corrigeert automatisch de fout en levert nog steeds relevante resultaten, waardoor de zoekervaring soepel en vergevingsgezind is.’
Ook het zoeken naar afbeeldingen gaat sneller dan gebruikelijk. Hij gaat in op tekst-naar-beeld-zoekopdrachten. Manticore zet een beeld om in een vector, een reeks getallen die de essentie van de zin weergeven. De vectoren worden vervolgens vergeleken met de inbedding van de afbeelding die in Manticore is opgeslagen en de meest overeenkomende worden geretourneerd. Dankzij deze aanpak kan Manticore relevante afbeeldingen vinden zonder afhankelijk te zijn van tekst. Het is een krachtige manier om flexibel en accuraat te zoeken, zelfs als er geen directe link is tussen de tekst en de afbeeldingen.
En omgekeerd zoeken naar afbeeldingen? Nikolaev: ‘Dan upload ik een afbeelding in plaats van een zoekopdracht in te typen. De demo verwerkt de afbeelding, extraheert een insluiting en zoekt in de database naar visueel vergelijkbare afbeeldingen.’
Huispedia
Een vergelijking met andere zoekmachines levert volgens Nikolaev op dat Manticore minstens tientallen malen sneller is, eenvoudiger te gebruiken en een (veel) groter zoekbereik heeft, omdat het bijvoorbeeld zowel rij- als kolomgebaseerd aan de slag gaat.
Manticore geniet – buiten de opensourcebeweging – nauwelijks enige bekendheid. De meeste klanten hebben dan ook die opensourceverbinding, Hij noemt er een aantal, waaronder Huispedia, een Nederlandse website die uitgebreide informatie biedt over woningen voor woningzoekenden of verkopers. ‘Met Manticore zijn wij in staat om een krachtige zoekoplossing te bieden voor het vinden van vastgoed. Met geweldige functies, hoge prestaties en een laag (geheugen)verbruik’, aldus Ramon Noordeloos, oprichter en cto van Huispedia.
Al met al is Nikolaev ervan overtuigd dé zoekmachine voor de huidige tijd (met zijn veelsoortige en veeltallige data) te hebben gebouwd. ‘We willen sterk groeien, maar we staan ook open voor een eventuele overnam.’