Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

Deel 4: Xapian & Recoll

17 mei 2011 - 10:075 minuten leestijdAchtergrondCloud & Infrastructuur
Johan Zwiekhorst
Johan Zwiekhorst

Xapian is een open source zoekmotorbibliotheek met een GPL-licentie. Net als Lucene is Xapian ontworpen voor ontwikkelaars, niet voor eindgebruikers. Het is dus geen zoekmotor op zich, maar een bibliotheek waarmee je vrij eenvoudig een zoekapplicatie kunt (laten) bouwen en zoekfuncties met geavanceerde indexering en zoekfaciliteiten kunt toevoegen aan je eigen applicaties, ook webapplicaties. De populaire Recoll-zoekapplicatie kan echter ook gebruikt worden als front-end voor Xapian.

Xapian is bruikbaar vanuit Perl, Python, PHP, Java, Tcl, C# en Ruby. Meer applicatietalen zijn nog op komst. De bedoeling van Xapian lijkt heel erg op die van Apache Lucene, alleen is Xapian geschreven in C++ (zoals de rest van Linux) en niet in Java. Daardoor zou het minder systeembronnen nodig moeten hebben dan Lucene en omdat er geen extra vertaalstap nodig is, werkt het in theorie ook veel sneller. Xapian ondersteunt het waarschijnlijkheidsinformatiezoekmodel ('probalistic information retrieval') en biedt een rijke verzameling booleaanse ondervraagoperatoren. Het Xapian project heeft een zusterproject genaamd Omega voor wie op zoek is naar een zoekmotor voor een website. Omega is dus een applicatie ontworpen voor gebruik binnen een website die gebruik maakt van de Xapian-bibliotheek. Wij houden het echter bij de gebruikersdesktop en kijken verderop naar Recoll, dat Xapian gebruikt voor desktopzoekfuncties.

Xapian Server

Xapian gebruikt standaard eigenlijk geen server. De bedoeling was een en ander zo compact mogelijk te houden en gebruik te maken van zo weinig mogelijk systeembronnen. De daemon die normaal aan de serverkant draait, bestaat hier uit een indexeerprogramma. Dat draait niet continu, maar kun je op 'stille' momenten laten draaien met behulp van cron of een andere scheduler. De geïndexeerde informatie wordt in een database weggeschreven. Die database maakt echter geen deel uit van Xapian, want dat is alleen de functiebibliotheek. De zoekapplicatie moet dus zijn eigen database bijhouden. Onder Linux is er geen installatiewerk aangezien de Xapian-bibliotheek al in heel wat Linux'en en Unix'en standaard geïnstalleerd meegeleverd wordt.

Gebruikersinterface

We kozen Recoll als voorbeeld voor een zoekapplicatie die gebruik maakt van Xapian. Recoll is normaal gedoeld als desktop zoek-GUI, maar bestaat zelf wel uit verschillende modules, waaronder een indexeerder die een indexdatabase bijhoudt en de eigenlijke GUI waarmee de gebruiker zijn zoektermen kan opgeven en de resultaten bekijken. Recoll ondersteunt het gebruik van een externe indexdatabase, dus is het niet zo moeilijk om het indexeerprogrammaatje en de indexdatabase op de bestanden- of documentenserver te zetten. Zo kan elke desktop-Recoll gebruik maken van die centrale indexdatabase en dus ook de documenten op de server doorzoeken. Dit is uiteraard een erg eenvoudige opstelling: er is geen voorziening voor autorisaties en kijkrechten. Alles waar Recoll bij kan, kan elke gebruiker ook bekijken.
Recoll heeft een erg eenvoudige gebruikersinterface. Nadat de indexen verzameld zijn, kun je zoekopdrachten in het zoekveld bovenaan intikken. Standaard staat dat ingesteld om een beetje zoals Google te werken, waarbij meerdere termen via 'en' verwerkt worden. Maar met een klein afrolmenuutje kun je een andere query-methode kiezen: een 'of'-verwerking, alleen bestandsnamen zoeken, of gebruik maken van een query-taal. Onder het zoekveld staan aanvinkbare documenttypes: alles, media, berichten, presentaties, spreadsheets, tekst en andere. Recoll en Xapian ondersteunen ook het zoeken in pdf's, Microsoft Office- en odf-documenten. Dat vereist wel een 'helper' voor ieder formaat dat je wilt kunnen doorzoeken. Die helpers zijn open-sourcehulpprogramma's voor Linux waarmee allerlei documentformaten snel omgezet kunnen worden naar platte tekst. Veel van die helpers zitten al standaard in Linux, maar Recoll heeft een menufunctie waarmee je kunt zien welke helpers er ontbreken en die dan zonodig toevoegen.
Recoll houdt een documentgeschiedenis bij, ondersteunt meerdere talen en heeft een paar geavanceerdere hulpmiddelen zoals een term explorer en het sorteren van parameters, of een geavanceerde zoekdialoog. Recoll zit standaard in de softwarebibliotheken van Ubuntu en Debian en waarschijnlijk in nog heel wat andere Linux-distributies.

Prestaties

De eerste stap is altijd het indexeren van onze directoryboom met documenten. Daarbij verraste ons de ongebruikelijk grote werksnelheid van Recoll en Xapian: de hele indexering duurde nog geen vijf minuten! Ook het intikken van een zoekterm leidde erg snel tot resultaten: binnen de seconde.

Productoordeel

De combinatie van Xapian en Recoll blijkt het snelst van allemaal en aangezien de Xapian-bibliotheken in de meeste Linux'en standaard aanwezig zijn, heb je in feite al zeer krachtige zoekfunctionaliteit beschikbaar op bijna alle Linux- en Unix-systemen. Er moet dus alleen nog een applicatie toegevoegd worden zodat een gebruiker ermee kan zoeken. Voor Linux is dat geen probleem met Recoll, maar voor Windows hebben we er niet meteen een gevonden.

Productinfo

Product: Xapian search engine 1.2.5/Recoll 1.15.7 user GUI
Producent & leverancier: Xapian, xapian.org/Recoll, www.lesbonscomptes.com/recoll/
Adviesprijs: gratis
Systeemvereisten: Xapian: bijna alle Linux- en Unix-varianten, Microsoft Windows en IBM OS/2; Recoll: Linux, maar aangezien het open source is, kan probleemloos een Windows-versie gecompileerd worden.

De Serie: Zoekmotoren en -servers

Deel 1: Xapian & Recoll levert verrassend goede zoekmachine op
Deel 2: TiNK Search
Deel 3: Apache Lucene
Deel 4: Xapian en Recoll

Meer over

GPL

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Slimme connectiviteit: de toekomst van bouwen

    Hoe stoom jij jouw organisatie in de bouw en installatie sector klaar voor de digitale toekomst?

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Computable.nl

    Well-Architected: slim bouwen en beheren in de cloud

    Een paper met concrete handvatten om cloud-architectuur naar een hoger niveau te tillen.

    Meer lezen

    Gebouw TU/e
    ActueelCloud & Infrastructuur

    TU/e vervangt vpn en voegt mfa toe na cyberaanval

    ActueelCloud & Infrastructuur

    Kort: Eigen ai-assistent Amsterdam, NIS2-manager Atos, DSA-check ACM en…

    Quantum
    ActueelCloud & Infrastructuur

    Nieuwe Cisco-netwerkchip brengt quantum-internet dichterbij

    kaasschaaf
    ActueelCarrière

    VodafoneZiggo schrapt 400 banen

    cybercrime
    ActueelCloud & Infrastructuur

    Rijkswaterstaat moet vaart maken met beveiligen van bruggen en sluizen

    Bord van Mediamarkt
    ActueelCloud & Infrastructuur

    Mediamarkt licht ‘onbeperkte’ cloudopslag van eigen telecommerk toe

    2 reacties op “Deel 4: Xapian & Recoll”

    1. Twijfelaar schreef:
      30 mei 2011 om 12:09

      Een ‘open source’ ‘zoekmotorbibiliotheek’.

      Ernstig! Kom op redactie, maak er dan of een open-broncode zoekmotorbibliotheek of een open source search engine van. Ik denk wel dat in het eerste geval vrijwel alle lezers zijn afgehaakt, maar dat terzijde.

      Login om te reageren
    2. Gast991200 schreef:
      13 november 2012 om 17:33

      klein schoonheidsfoutje:

      Linux is niet in C++ geschreven maar in C

      Linus Torvalds licht het waarom daarvan op elegante en subtiele wijze toe 😉
      http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918

      Login om te reageren

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs