Apache Solr

In de wereld van content management duikt meer en meer de naam op van Apache Solr als het op zoekfunctionaliteit aankomt.

Apache Solr is een zoekplatform dat deel uitmaakt van het Apache Lucene project. Lucene is een bekende softwarebibliotheek met uitgebreide functionaliteit voor de bouw van een eigen zoekmotor. Binnen Smals zijn er een aantal projecten die ervan gebruik maken. Lucene vervult twee nodige functionaliteiten van een zoekoplossing, namelijk het opbouwen van de index en het ondervragen ervan. Rond deze kernfunctionaliteiten werd een server gebouwd, Solr genaamd, die uitgebreider is qua functionaliteit dan enkel Lucene. Net zoals Lucene is Solr een oplossing gericht op developers.

Het werd dus tijd om deze open source oplossing eens van naderbij te bekijken. Hiervoor werd het product onderworpen aan een klein aantal tests.

Solr is Java-gebaseerd en maakt gebruik van een applicatieserver (Tomcat, Jboss, Jetty, WebLogic…). De interface met  Solr is echter programmeertaal-agnostisch, namelijk steunend op XML/JSON en HTTP. Dit maakt dat bijvoorbeeld ook PHP-oplossingen zoals Drupal ervan kunnen gebruik maken.

Deze oplossing biedt ondermeer:

  • configuratie via XML-bestanden
  • flexibel schema met heel wat configuratiemogelijkheden.
  • tekstanalyse afhankelijk van gedefinieerde veldtypes
  • Java API (SolrJ)
  • tools voor de conversie van documenten (MS Office, PDF, OpenOffice, …) naar het Solr-formaat (gebaseerd op Apache Tika)
  • Geavanceerde functionaliteit zoals facetten, highlighting, spellingscontrole (“bedoel je <dit woord>?”), gewogen queries, …
  • Schaalbare oplossing die gespreid kan worden over meerdere servers
  • Administratieinterface met mogelijkheden van debugging

Als serveroplossing biedt Solr het voordeel dat dit de basis kan vormen van een centrale zoekinfrastructuur die door één team kan beheerd worden. Dit in tegenstelling tot Lucene-implementaties die steeds specifiek per project worden gehanteerd.

Solr is (nog) niet vergelijkbaar met commerciële zoekoplossingen die out-of-the-box een reeks connectoren bezitten naar heel wat content management systemen. Met het Lucene Connectors Framework wenst men hieraan te verhelpen, zij het dat project nog in zijn kinderschoenen staat.

Uiteraard dien je in Solr nog heel wat werk zelf te doen zoals het indexeren van de documenten (die in een correct formaat moeten zijn), keuzes maken voor de tekstanalyse, bouwen van de zoekschermen, …

Daar staat dan tegenover dat Solr wel heel wat van de nodige functionaliteit in huis heeft en dus zeker de moeite waard is om te bekijken. Misschien kan dit het begin zijn voor een dienstenaanbod rond zoektechnologie?

Leave a Reply

Your email address will not be published. Required fields are marked *