Article de reference

Apache Lucene

Apache Lucene est une bibliothèque logicielle de moteur de recherche libre et open source , initialement écrite en Java par Doug Cutting . Elle est soutenue par la fondation Apa...

Apache Lucene est une bibliothèque logicielle de moteur de recherche libre et open source , initialement écrite en Java par Doug Cutting . Elle est soutenue par la fondation Apache Software Foundation et distribuée sous la licence Apache Software License . Lucene est largement utilisée comme base standard pour les applications de recherche en production.

Lucene a été porté vers d'autres langages de programmation, notamment Object Pascal , Perl , C# , C++ , Python , Ruby et PHP .

Histoire

Doug Cutting a écrit Lucene en 1999. Lucene était son cinquième moteur de recherche. Il en avait auparavant écrit deux chez Xerox PARC , un chez Apple et un quatrième chez Excite . Il était initialement disponible en téléchargement sur le site web SourceForge . Il a rejoint la famille Jakarta de produits Java open source de la Fondation Apache en septembre 2001 et est devenu un projet Apache à part entière en février 2005. Le nom Lucene est le deuxième prénom de l'épouse de Doug Cutting et le prénom de sa grand-mère maternelle.

Lucene comprenait auparavant plusieurs sous-projets, tels que Lucene.NET, Mahout , Tika et Nutch . Ces trois derniers sont désormais des projets indépendants de premier plan.

En mars 2010, le serveur de recherche Apache Solr a rejoint Lucene en tant que sous-projet, fusionnant ainsi les communautés de développeurs.

La version 4.0 a été publiée le 12 octobre 2012.

En mars 2021, Lucene a changé de logo et Apache Solr est redevenu un projet Apache de premier plan, indépendant de Lucene.

Caractéristiques et utilisation courante

Bien que convenant à toute application nécessitant une indexation et une recherche en texte intégral, Lucene est reconnu pour son utilité dans la mise en œuvre de moteurs de recherche Internet et de recherches locales sur un seul site.

Lucene inclut une fonctionnalité permettant d'effectuer une recherche floue basée sur la distance d'édition .

Lucene a également été utilisé pour implémenter des systèmes de recommandation. Par exemple, la classe « MoreLikeThis » de Lucene peut générer des recommandations de documents similaires. Lors d'une comparaison de l'approche de similarité vectorielle des termes de « MoreLikeThis » avec des mesures de similarité documentaire basées sur les citations, telles que la co-citation et l'analyse de proximité des co-citations, l'approche de Lucene s'est avérée particulièrement performante pour recommander des documents présentant des caractéristiques structurelles très similaires et une pertinence plus étroite. En revanche, les mesures de similarité documentaire basées sur les citations étaient généralement plus adaptées à la recommandation de documents plus largement pertinents, ce qui signifie que les approches basées sur les citations peuvent être plus appropriées pour générer des recommandations fortuites , à condition que les documents à recommander contiennent des citations dans leur texte.

Projets basés sur Lucene

Lucene est en soi une simple bibliothèque d'indexation et de recherche, sans fonctionnalités d'exploration ni d'analyse HTML . Cependant, plusieurs projets étendent ses capacités :