|
Naam |
Apache Lucene |
|---|---|
|
Jaar van oprichting |
1998 |
|
Website |
|
|
Contact |
|
|
Oorsprong |
Verenigde Staten |
|
Grootte organisatie |
30+ committers |
|
Implementatiepartners |
|
|
Positionering |
Defacto standaard Open Source Enterprise Search oplossing |
|
Naam |
Apache Lucene |
|||||||
|---|---|---|---|---|---|---|---|---|
|
Versie en release |
3.0.1 | |||||||
|
Licentietype |
Open source (Apache 2) | |||||||
|
Beschrijving |
|
|||||||
|
Releasebeheer |
Gemiddeld verschijnt er elke drie maanden een minor release en bugfix releases komen continu uit. Meestal worden nieuwe releases voorgesteld en bepaald door de project committers. |
|||||||
|
Aantal installaties |
Meer dan 500.000 wereldwijd Meer dan 10.000 in de Benelux |
|||||||
|
Roadmap 2010-2011 |
De volgende versie van Lucene (3.1) komt naar verwachting in Q2/Q3 van 2010 uit. Deze versie richt zich met name op het verbeteren van de performance en het uitbreiden van de indexstructuur voor het ondersteunen van meer dynamische content. Verder zal de ‘Near Real Time search’ functionaliteit (geïntroduceerd in versie 3.0) worden verbeterd en zal de zoek-syntax worden uitgebreid voor ondersteuning van meer zoekopdrachtmogelijkheden (bijvoorbeeld ‘Trie range queries’). |
|||||||
|
Standaardmodules |
|
|||||||
|
Referenties |
Hippo, http://www.onehippo.com/, gebruiken Lucene voor de zoekfunctionaliteit binnen hun CMS repository. LinkedIn, http://www.linkedin.com/, gebruiken Lucene voor de zoekfunctionaliteit op hun website. Technorati, http://technorati.com, gebruiken Lucene voor de zoekfunctionaliteit op hun website. Monster, http://jobsearch.monster.com/, gebruiken Lucene voor de zoekfunctionaliteit op hun website. Attivio, http://www.attivio.com, commerciële enterprise zoekoplossing die Lucene gebruikt voor de zoekfunctionaliteit in hun producten. |
|||||||
|
Documentatie |
Official Wiki: http://wiki.apache.org/lucene-java/ Lucene in Action (ISBN: 1932394281): http://www.amazon.com/Lucene-Action-Otis-Gospodnetic/dp/1932394281 Online tutorials: http://lucenetutorial.com/ |
|
Samenvatting |
Lucene is een ‘library’ voor ontwikkelaars om zoekresultaten op te vragen en weer te geven. Lucene zelf bevat geen componenten voor presentatie van de resultaten. Andere, op Lucene gebaseerde oplossingen, zoals Apache Nutch en Apache Solr [link naar Solr pagina] bieden wel de presentatie van zoekresultaten.
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Aantal en relevantie |
Lucene retourneert het totaal aantal gevonden resultaten (gepagineerd). Voor elk gevonden resultaat wordt ook de relevantie aangegeven. |
||||||||||||
|
Stemming |
Lucene biedt standaard vele componenten voor tekstanalyse als stemming (de meeste talen worden ondersteund). De meestgebruikte methode is gebaseerd op het Porter-algoritme. |
||||||||||||
|
|
|
||||||||||||
|
Zoekresultaat |
Lucene is een ‘library’ voor ontwikkelaars om zoekresultaten op te vragen en weer te geven. Lucene zelf bevat geen componenten voor presentatie van de resultaten. Andere, op Lucene gebaseerde oplossingen, zoals Apache Nutch en Apache Solr bieden wel de presentatie van zoekresultaten. |
||||||||||||
|
Verfijning |
Lucene biedt verschillende mechanismen voor het verfijnen van zoekresultaten:
|
||||||||||||
|
Sortering |
Het is mogelijk om te sorteren op relevantie en elk ander veld binnen de geïndexeerde documenten. Daarnaast is het ook mogelijk om te sorteren op meerdere velden (‘nested sorting’). |
||||||||||||
|
Operatoren |
Lucene biedt ondersteuning voor boolean, wildcard, range, fuzzy, phrase en proximity zoekvragen. |
||||||||||||
|
Metadata |
Lucene biedt zelf standaard geen ondersteuning voor het onttrekken van metadata uit documenten. Hiervoor bestaat een ander project binnen het Lucene ecosysteem: Apache Tika. |
||||||||||||
|
Bestandstypen |
Lucene biedt zelf standaard geen ondersteuning voor het onttrekken van metadata uit documenten. Hiervoor bestaat een ander project binnen het Lucene ecosysteem: Apache Tika. |
||||||||||||
|
Markering |
Lucene ondersteunt het markeren van zoektermen in de zoekresultaten (‘highlighting’). |
||||||||||||
|
Contentvergaring |
Lucene biedt zelf standaard geen ondersteuning voor het vergaren van content. Deze functionaliteit wordt geboden door Apache Nutch, Apache Solr en Lucene Connectors Framework (LCF). |
||||||||||||
|
Nederlandstalig |
Lucene biedt geen gebruikersinterface. Alle documentatie is in het Engels. |
|
Indexeerproces |
Lucene maakt het mogelijk om documenten toe te voegen, te wijzigen en te verwijderen. Het is daarom mogelijk om een volledig alsmede een incrementeel indexeerproces te implementeren met Lucene. |
|---|---|
|
Aansluitingen |
Lucene biedt zelf standaard geen aansluitingen. Deze functionaliteit wordt geboden door Apache Nutch, Apache Solr en Lucene Connectors Framework (LCF). Lucene maakt het wel mogelijk om zoekopdrachten te beperken tot een enkel subsysteem. |
|
Omgevingen |
Lucene biedt zelf standaard geen aansluitingen. Deze functionaliteit wordt geboden door Apache Nutch, Apache Solr en Lucene Connectors Framework (LCF). |
|
Hosting |
Lucene is een ‘library’ en dient als zodanig niet geïnstalleerd te worden. Voor een installeerbare zoekoplossing op basis van Lucene zie: Apache Solr. |
|
Configuratie |
Lucene biedt geen gebruikersinterface voor configuratie. Alle configuratie wordt programmatisch gedaan. |
|
Optimalisatie |
Lucene biedt verscheidene configuratie-mechanismes voor het optimaliseren van zowel het indexeerproces als het afhandelen van zoekopdrachten. |
|
Thesaurus |
Lucene biedt standaard ondersteuning voor synoniemen. Een aparte module, die met Lucene wordt geleverd, biedt ook ondersteuning voor spelilngscontrole gebaseerd op dictionaries. WordNet is een online dictionary die standaard wordt ondersteund. |
|
Recall/precision |
Lucene ondersteunt het verfijnen van de recall/precision door het gebruik van verschillende query-types. |
|
Indexeerlogs |
Lucene biedt standaard geen ondersteuning voor het analyseren van het indexeerproces. |
|
Faceted search |
Lucene biedt standaard geen ondersteuning voor faceted navigatie. Voor zulke functionaliteit zie: Apache Solr. |
|
Rapportage |
Lucene ondersteunt de analyse van het zoekproces door inzicht te bieden in hoe en waarom documenten worden gevonden op basis van de zoekopdracht. Daarnaast zijn er ook enkele hulpmiddelen beschikbaar voor het analyseren van de structuur van de index, bijvoorbeeld Luke. |
|
Besturingssysteem |
Lucene is beschikbaar op elk platform, aangezien het is ontwikkeld in Java. |
|---|---|
|
Browsers |
Lucene is een library en biedt geen interface die beschikbaar is in een browser. |
|
Architectuur |
Lucene is in vrijwel alle belangrijke programmeertalen verkrijgbaar, waaronder Java, .NET, PHP, Python, C, Perl, en Ruby. Voor volledige taalonafhankelijkheid zie Apache Solr. |
|
|
|
|
SDK, API |
Lucene is een library en biedt dus een API. Afhankelijk van de gekozen Lucene-implementatie is de API in de bijbehorende programmeertaal. De meest gebruikte is in Java. |
|
|
|
|
Licentiemodel |
Open source (Apache 2) |
|---|---|
|
SaaS/ASP |
Niet mogelijk |
Apache Lucene is bij uitstek geschikt voor ontwikkelaars die zelf zoekfunctionaliteit willen inbouwen. Tot vrij recent was dit de meest bekende manier waarop Lucene werd gebruikt. Apache Lucene wordt dan ook in veel bekende web content management systemen gebruikt).
Tegenwoordig is het steeds eenvoudiger om het ook als losstaand zoeksysteem in te zetten, als een op Apache Lucene gebaseerd product wordt gekozen. Zo is Nutch een volledige webzoekmachine, en Apache Solr biedt geavanceerde functionaliteit zoals zoekverfijningen, faceted navigatie en webservices. Daarnaast is IBM Omnifind Yahoo! Edition een complete zoekmachine die vergelijkbaar is met een Google Mini (maar daardoor minder flexibel dan de andere op Lucene gebaseerde systemen). Ook is het nu mogelijk een op Lucene gebaseerd commercieel product aan te schaffen (Attivio AIE).
Apache Lucene is meestal niet een simpel ‘out-of-the-box’ te installeren systeem, maar in zoveel varianten beschikbaar dat eigenlijk in elk project overwogen zou moeten worden of het een geschikt alternatief is. In het geval dat er gezocht wordt naar een completere, meer ‘out-of-the-box’ zoekoplossing, is Apache Solr wellicht een beter alternatief.

Luke is een tool die het mogelijk maakt om een Lucene index te bekijken. Het geeft inzicht in de index en het analyseproces.
Wie heeft er ervaring met Apache Lucene en wil daar over worden geïnterviewd door mij?