Apache lucene

Définition - Que signifie Apache Lucene?

Apache Lucene est un projet open source pour une bibliothèque de moteur de recherche de texte haute performance et complète qui est entièrement écrite en Java.

Il est capable de rechercher du texte intégral dans les documents, c'est donc une technologie qui convient à toute application nécessitant cette fonctionnalité, en particulier si elle est multiplateforme.

Il a été développé pour la première fois par Doug Cutting en 1999 et est devenu officiellement une partie de la famille Jakarta de projets Java open source de la Fondation Apache en septembre 2001. Il a été mis à niveau vers un projet Apache de haut niveau en février 2005.

Definir Tech explique Apache Lucene

Apache Lucene est un moteur de recherche haute performance avec le concept de "document contenant des champs de texte" au cœur de son architecture logique. Cela offre une grande flexibilité et permet à l'API Lucene de devenir indépendante de tout format de fichier.

Tout texte provenant de formats tels que MS Word, HTML, XML, PDF et OpenDocument peut être indexé tant que les informations textuelles peuvent être extraites, ce qui signifie qu'il ne peut rien faire avec les images.

Lucene convient à toute application nécessitant une indexation de texte intégral et une capacité de recherche, mais il est largement reconnu comme un excellent utilitaire pour la mise en œuvre de moteurs de recherche Internet et pour la recherche locale sur un seul site.

Les fonctionnalités incluent :

  • Indexation évolutive et haute performance - il peut traiter plus de 150 Go par heure sur du matériel moderne et ne nécessite que 1 Mo par tas de mémoire requise.
  • Algorithmes de recherche puissants, précis et efficaces - il offre de nombreux types de requêtes puissantes telles que les requêtes d'expressions, de caractères génériques, de proximité et de plage. Il a également des champs de recherche et de tri par n'importe quel champ.
  • Multi-plateforme - implémentation Java pure et également disponible dans d'autres langages de programmation.