Online bedrijvengids ilocal stapte in december over op een nieuwe zoekmachine, op basis van open source technologie. Chief technology officer (cto) Edwin Adriaansen ging in het voorbereidingstraject behoedzaam te werk. 'Als je een Linuxdistributie koopt bij Red Hat weet je zeker dat je ondersteuning zult krijgen. Maar dat geldt niet voor elk open source product. Met open source software loop je risico's. Die moet je vantevoren goed inventariseren.'
Toen cto Edwin Adriaansen in de lente van 2008 in dienst trad van ilocal, werkte het bedrijf nog met een 'gesloten' zoekmachine. Het afgesloten licentiecontract had allerlei nadelen. Adriaansen: 'Onze lokale zoekmachine moet opboksen tegen concurrenten zoals de Gouden Gids. Het is van levensbelang dat we snel aanpassingen kunnen doen.'
Dat lukte maar matig in samenwerking met de toenmalige leverancier. 'Eerst moest er onderhandeld worden over de prijs van nieuwe features en vervolgens was het maar afwachten wanneer ze waren geïmplementeerd.' En er was nog een ander probleem: 'Omdat de leverancier eigenaar was van de zoekmachine, konden onze concurrenten ook meteen profiteren van de nieuwe eigenschappen die wij hadden bedacht.'
Risicoanalyse
ilocal besloot zelf de ontwikkeling van hun zoekmachine ter hand te nemen. Maar dan moest er wel een nieuwe zoekmachine komen, op basis van een opensourcelicentie. Adriaansen had voor zijn komst naar ilocal zeven jaar gewerkt voor een bedrijf dat zoektechnologie maakte voor de overheid en universiteiten en had daardoor een goed overzicht van de omvangrijke markt op het gebied van zoekmachines. 'Er zijn ruim vijftig spelers in Nederland, en dan tel ik alle nichespelers nog niet eens mee. Daar zit van alles tussen, zoals bijvoorbeeld heel intelligente zoekmachines die door academici zijn ontwikkeld. Veel daarvan hebben alleen nog maar in testomgevingen gedraaid. Ik was er huiverig voor om die te implementeren binnen een commerciële productieomgeving.'
De cto van ilocal zag wel wat in zoekserver Solr, dat gebruik maakt van de uitgebreide Lucene softwarebibliotheken. Dat product had niet alleen voldoende mogelijkheden, maar was ook al behoorlijk volwassen. Bovendien wist Adriaansen dat er voldoende ontwikkelaars op de markt waren die er ervaring mee hadden. Desondanks was Adriaansen zich bewust van de risico's. 'Met open source software weet je vantevoren niet altijd waaraan je begint. Er is geen leverancier die garandeert dat de software op tijd doet wat hij zou moeten doen.'
ilocal nam open source adviesbedrijf JTeam in de arm om een risicoanalyse uit te voeren. Uit de analyse kwamen twee hoofdconclusies naar voren: een deel van de zoekmachinecode was kwalitatief onvoldoende en moest herschreven worden. En daarnaast was het niet zeker of het mogelijk was de nieuwe zoekmachine minimaal even snel te laten draaien, iets dat voor ilocal noodzakelijk was.
Eigen ontwikkelteam
Ondanks deze twee pijnpunten werd besloten om te kiezen voor Solr. Adriaansen: 'De ontwikkeling van de risicovolle onderdelen werd voor de zekerheid echter naar voren geschoven.' Omdat het zeskoppige ontwikkelteam van ilocal nog geen ervaring had met deze zoekmachine werden consultants van JTeam ingehuurd om op locatie de benodigde code te komen programmeren. Door de aanwezigheid van die consultants op de werkvloer, zorgde Adriaansen er bovendien voor dat zijn eigen team klaar werd gestoomd om de zoekmachine in de toekomst zelf te kunnen onderhouden en uitbreiden.
Omdat het contract met de oude zoekmachineleverancier bijna afliep, stond er behoorlijk druk op de ketel. Maar gelukkig werd het project binnen budget en volgens planning afgerond. Het was een 'heel mooie migratie, zonder downtijd.' De overstap naar de nieuwe zoekmachine gebeurde stap voor stap. Doordat de functionaliteit van de website hetzelfde bleef, konden de servers één voor één worden bijgeschakeld.
Merknamen
Op dit moment zit het ontwikkelteam van ilocal in een fase waarbij de bestaande functionaliteit wordt uitgebreid. Zo zijn tijdens de maandelijkse update van juni een aantal Web 2.0-features toegevoegd. Gebruikers kunnen nu niet alleen reviews geven, maar ook vragen stellen aan andere gebruikers en een persoonlijke lijst maken van favoriete bedrijven.
In de toekomst wil Adriaansen graag nog meer intelligentie aan de website toevoegen. 'Gebruikers zoeken vaak op merknamen. We zijn bezig methoden te ontwikkelen waardoor onze zoekrobots op bedrijvensites een onderscheid kunnen maken tussen productnamen zoals brood, merknamen zoals Tarvo en steekwoorden zoals bijvoorbeeld bruin en biologisch. Met die informatie wordt het voor ons gemakkelijker om gebruikers suggesties te geven voor het verfijnen van hun zoekopdracht.'
Teruggeven code
ilocal wil graag wat terugdoen voor de opensourcegemeenschap, maar wil liever niet 'de concurrentie in de kaart spelen'. Tot nu toe heeft het bedrijf wel delen van zelf ontwikkelde code vrijgegeven onder een opensourcelicentie, maar enkel van de algemene engine, die dankzij ilocal onder andere een stuk sneller is geworden. Inhoudelijke verbeteringen waarvan ook concurrenten op de lokale zoekmarkt zouden kunnen profiteren wil het bedrijf pas op termijn vrijgeven.
Adriaansen voelt zich daar niet schuldig over. 'We hebben een derde van de totale code gewijzigd om de zoekmachine te optimaliseren voor ons bedrijfsdoel. De inbreng van de open source community wordt vaak overschat. In totaal werken er wereldwijd zo'n tien mensen aan de ontwikkeling van Solr en Lucene.'
Lucene en Solr
Solr is an open source zoekserver voor bedrijven, gebaseerd op de Lucene Java zoekbibliotheek. Meer informatie: http://lucene.apache.org/solr.
ilocal
ilocal is sinds 2005 actief in de 'local search' markt in Nederland en België. Maandelijks trekt ilocal in Nederland ruim 1,8 miljoen unieke bezoekers. Op ilocal vinden gebruikers niet alleen winkels en bedrijven, maar ook producten, merken, specialiteiten, de nieuwste aanbiedingen en de mening van andere gebruikers over de gevonden winkels en bedrijven.
Waar ik benieuwd naar ben is hoeveel mensen bij de ’toenmalige’ leverancier aan de ‘gesloten’ zoekmachine werk(t)en?
Zelf vind ik het boeiend om hier over Apache Solr te lezen omdat Drupal / Acquia ook gebruik maakt van Solr.
http://drupal.org/project/apachesolr
http://acquia.com/products-services/acquia-search
Boeiend: ‘Open-source Lucene threatens Microsoft, Google enterprise search’ zie -> http://news.cnet.com/8301-13505_3-10288143-16.html
Bij de leverancier van de “gesloten zoekmachine” werkte 15-20 ontwikkelaars. Deels aan de core, deels aan maatwerk voor klanten.
@Edwin: Dat zijn er meer dan ik had verwacht. Was het prijskaartje ‘in verhouding’ of viel dat (door de installed base?) mee?
Het lijkt me geruststellend voor jullie om te zien dat er veel momentum is rondom Lucene en Solr de afgelopen anderhalf, twee jaar.
Investeren jullie nu meer, evenveel of minder dan voorheen in de zoeksoftware, cq. het maatwerk?
Dank je voor het delen voor jullie case en veel succes !!
@JoG
de prijs was hoog (vergelijkbaar met Autonomy) omdat we ons specialiseerde en een beperkt aantal klanten konden hebben (waarvoor de RoI wel duidelijk was).
Bij ilocal.nl ontwikkelen we continue aan de search engine (op lucene/solr gebaseerd). Dit is ons core product en we willen de beste local search speler zijn.
M.i. valt er nog veel te doen, er is nog zoveel meer mogelijk
Binnenkort ook de “ILocal Summer(spring, autumn,winter) of Open source code” contest Edwin?
Met zon wedstrijd kun je mooi open source IT talent mee aantrekken, en mogelijk in dienst nemen en je bedrijf verder op de zoek-kaart zetten. 🙂
Good luck met dit mooie open source initiatief!
‘Ede sponsort ontwikkeling open source zoekmachine’ (Apache Solr) meldt NOiV -> http://www.noiv.nl/node/65904