Je sais qu'ElasticSearch est basé sur Apache Lucene mais je veux connaître les différences significatives entre les deux.
Je sais qu'ElasticSearch est basé sur Apache Lucene mais je veux connaître les différences significatives entre les deux.
Réponses:
Lucene est une bibliothèque Java . Vous pouvez l'inclure dans votre projet et faire référence à ses fonctions à l'aide d'appels de fonction.
ElasticSearch est un JSON basé, distribué , serveur Web intégré sur Lucene. Bien que ce soit Lucene qui fasse le travail en dessous, Elasticsearch nous fournit une couche pratique sur Lucene. Chaque partition créée dans Elasticsearch est une instance Lucene distincte. Donc pour résumer
En plus des mots de @Vineeth Mohan :
Haute disponibilité: Elasticsearch est distribué afin de pouvoir gérer la réplication des données, ce qui signifie avoir plusieurs copies de données dans votre cluster. Cela permet une haute disponibilité.
Puissant requête DSL : Elasticsearch nous offre une interface JSON pour lire et écrire des requêtes sur Lucene. Grâce à Elasticsearch, vous pouvez écrire des requêtes complexes sans connaître la syntaxe Lucene.
Sans schéma (sans schéma): les champs (nom, paires de valeurs) pour schema
ne doivent pas être définis auparavant. Lorsque vous indexez des données, elasticsearch peut créer un schéma automatiquement au moment de l'exécution, comme par magie.
Je vais répondre du point de vue de l'utilisation.
Lucene est une bibliothèque de moteurs de recherche . Vous voudriez l'utiliser pour créer votre propre moteur de recherche: soit un nouveau concurrent Elasticsearch ou Solr, soit quelque chose de restreint pour votre cas d'utilisation (par exemple, l'analyse de texte).
Elasticsearch est un moteur de recherche . La plupart des gens l'utilisent pour l'agrégation de journaux, la recherche de produits ou une variante des deux (par exemple, l'analyse des médias sociaux ou la recherche de personnes pertinentes pour certains critères de recherche). Il est construit sur Lucene, il expose donc la plupart (mais pas toutes) de ses fonctionnalités . Cela ajoute également beaucoup de choses, surtout: