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 :
- Apache Nutch – assure l'exploration du Web et l'analyse HTML
- Apache Solr – un serveur de recherche d'entreprise
- CrateDB – base de données SQL distribuée et open source construite sur Lucene
- DocFetcher – une application de recherche de bureau multiplateforme
- Elasticsearch – un serveur de recherche d’entreprise sorti en 2010
- Kinosearch est un moteur de recherche écrit en Perl et en C , dérivé de Lucene . Il est utilisé par le logiciel wiki Socialtext et par le wiki MojoMojo . Il est également utilisé par la Human Metabolome Database (HMDB) et la Toxin and Toxin-Target Database (T3DB)
- MongoDB Atlas Search – une application de recherche d'entreprise native du cloud basée sur MongoDB et Apache Lucene
- OpenSearch – un serveur de recherche d'entreprise open source basé sur une version dérivée d'Elasticsearch 7
- Swiftype – une startup de recherche d'entreprise basée sur Lucene