Installer et utiliser Elasticsearch avec MongoDB sur Windows et Ubuntu

Mehvish Ashiq 16 février 2024
  1. Qu’est-ce qu’Elasticsearch
  2. Installer Elasticsearch sur Windows 10
  3. Installer Elasticsearch sur Ubuntu 20.04
  4. la principale raison d’utiliser Elasticsearch avec MongoDB
Installer et utiliser Elasticsearch avec MongoDB sur Windows et Ubuntu

Cet article est un guide d’installation et de configuration étape par étape pour Elasticsearch sur Windows et Ubuntu 20.04. Il démontre également l’utilisation d’Elasticsearch avec MongoDB pour les deux systèmes d’exploitation.

Qu’est-ce qu’Elasticsearch

Elasticsearch est une base de données NoSQL, un moteur distribué et d’analyse en temps réel open source conçu pour stocker les journaux. L’Elasticsearch est développé en programmation Java et au-dessus d’un Apache Lucene.

De nombreuses entreprises bien connues, dont LinkedIn et OpenStack, l’utilisent. Il prend en charge la recherche en texte intégral basée sur les documents au lieu des schémas et des tables.

Il est également utilisé pour la migration, l’indexation et la synchronisation des données. Elasticsearch est le meilleur choix lorsque l’application nécessite trop d’opérations de recherche et de filtres.

Installer Elasticsearch sur Windows 10

Étape 1 : Vérifiez si Java est installé

Pour installer Elasticsearch sur Windows 10, nous devons avoir la dernière version de Java installée sur notre machine. Vous pouvez également utiliser l’une des commandes suivantes pour confirmer que Java est déjà installé sur votre machine.

N’oubliez pas que nous devons avoir Java version 7 ou supérieure si nous voulons installer Elasticsearch.

installez et utilisez elasticsearch sur windows et ubuntu - vérifiez la version java sur windows

Étape 2 : Télécharger le fichier Elasticsearch .zip

Allez sur ce site Web et cliquez sur le lien de téléchargement dans la capture d’écran suivante. Ensuite, sélectionnez la plate-forme que nous voulons utiliser Elasticsearch et téléchargez le fichier .zip.

installez et utilisez elasticsearch sur windows et ubuntu - téléchargez elasticsearch sur windows

Étape 3 : Exécutez le fichier de commandes Elasticsearch

Une fois que nous avons téléchargé le fichier .zip, décompressez-le à l’emplacement souhaité. Ensuite, naviguez jusqu’au dossier bin et double-cliquez sur le fichier batch elasticsearch.

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - lancez elasticsearch sur windows

Ce n’est rien d’autre qu’un fichier de commandes Windows standard avec des étapes effectuées en coulisses. De plus, cela aide à faire apparaître le démon Elasticsearch sur votre machine qui se présentera comme suit.

Laissez-le ouvert et suivez les étapes suivantes.

installer et utiliser elasticsearch sur windows et ubuntu - démon elasticsearch sur windows

Étape 4 : Désactiver l’authentification (uniquement à des fins d’apprentissage)

Par défaut, l’authentification est activée, ce qui signifie que nous devons saisir les informations de connexion. Vous pouvez soit utiliser les identifiants de connexion par défaut, soit les modifier en suivant cette page.

Pour cet article, nous désactivons l’authentification (c’est uniquement à des fins d’apprentissage mais recommandé dans l’environnement de production). Nous utilisons le Bloc-notes pour ouvrir le fichier elasticsearch.yml qui peut être situé dans le chemin %ES_HOME%\config\elasticsearch.yml.

Ici, ES_HOME est votre répertoire d’accueil Elasticsearch. Par exemple, dans notre cas, le elasticsearch.yml peut être situé dans C:\Users\DelftStack\Desktop\elasticsearch-8.2.2-windows-x86_64\elasticsearch-8.2.2\config.

Une fois le fichier elasticsearch.yml ouvert, recherchez l’option xpack.security.enabled et mettez sa valeur false, comme indiqué dans la capture d’écran ci-dessous.

installer et utiliser elasticsearch sur windows et ubuntu - désactiver l’authentification elasticsearch sur windows

Arrêtez Elasticsearch et recommencez en exécutant le fichier elasticsearch.bat.

Étape 5 : Exécutez Elasticsearch sur le navigateur

Tapez http://localhost:9200 sur votre navigateur préféré. Si vous voyez la page similaire à la capture d’écran suivante, Elasticsearch est correctement opérationnel.

installez et utilisez elasticsearch sur windows et ubuntu - elasticsearch est opérationnel sur windows

Installer Elasticsearch sur Ubuntu 20.04

Étape 1 : Installer les dépendances requises

Index des packages de mise à jour/mise à niveau :

sudo apt update
sudo apt upgrade

Comme Windows OS, Java est également requis sur Ubuntu pour installer Elasticsearch. S’il n’est pas déjà installé, exécutez la commande ci-dessous pour installer le JDK par défaut sur Ubuntu 20.04.

sudo apt install openjdk-8-jdk

Une fois installé, utilisez la version java pour vérifier si elle est là.

installez et utilisez elasticsearch sur windows et ubuntu - vérifiez la version java sur ubuntu

Nous devons également installer un package APT Transport pour donner accès à tous nos dépôts via HTTPS.

sudo apt install apt-transport-https

installer et utiliser elasticsearch sur windows et ubuntu - installer apt transport sur ubuntu

Étape 2 : Téléchargez et installez Elasticsearch sur Ubuntu

La tâche suivante consiste à ajouter le référentiel Elasticsearch. Utilisez la requête wget pour extraire la clé publique.

Vous devez avoir le OK en sortie si tout se passe bien.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - ajoutez le référentiel elasticsearch sur ubuntu

Maintenant, ajoutez le référentiel au système en exécutant la commande suivante. Nous écrivons le 8.x dans la commande suivante car il s’agit de la dernière version au moment de la rédaction de ce tutoriel.

echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

Encore une fois, mettez à jour l’index du package à l’aide de la commande ci-dessous.

sudo apt update

Installez Elasticsearch en exécutant la commande suivante. L’installation peut prendre un certain temps.

Alors, laissez-le se terminer avec succès.

sudo apt install elasticsearch

installer et utiliser elasticsearch sur windows et ubuntu - installer elasticsearch sur ubuntu

Après l’installation, nous devons démarrer l’Elasticsearch car il ne démarre pas tout seul. Nous devons également relancer Elasticsearch si nous redémarrons la machine.

Pour éviter cette situation, exécutez les commandes ci-dessous pour recharger automatiquement Elasticsearch après le redémarrage du système.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Maintenant, vérifiez l’état d’Elasticsearch en utilisant la commande suivante.

sudo systemctl status elasticsearch

installer et utiliser elasticsearch sur windows et ubuntu - état elasticsearch sur ubuntu

Étape 3 : Configurer Elasticsearch

Par défaut, Elasticsearch est préconfiguré pour une utilisation de base. Nous n’avons pas à apporter de modifications au fichier de configuration si nous voulons utiliser un nœud dans notre configuration.

Si vous souhaitez modifier la configuration d’Elasticsearch, modifiez le fichier elasticsearch.yml dans le répertoire /etc/elasticsearch. Vous pouvez également trouver la configuration pour la journalisation dans /var/log/elasticsearch/logging.yml.

Nous éditons le fichier elasticsearch.yml pour désactiver l’authentification pour ce tutoriel. Nous changeons la valeur de xpack.security.enabled de true à false.

N’oubliez pas que chaque fois que vous modifiez le fichier elasticsearch.yml, n’oubliez pas de redémarrer les services à l’aide de la commande suivante.

sudo systemctl restart elasticsearch.service

Ensuite, utilisez la commande suivante pour vérifier si Elasticsearch est opérationnel.

curl localhost:9200

installez et utilisez elasticsearch sur windows et ubuntu - elasticsearch est opérationnel sur ubuntu

Nous pouvons également taper http://localhost:9200 sur le navigateur, et cela devrait afficher les mêmes résultats que la commande curl donnée ci-dessus. De plus, vous pouvez consulter cet article pour sécuriser Elasticsearch.

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - lancez elasticsearch sur ubuntu

la principale raison d’utiliser Elasticsearch avec MongoDB

Nous utilisons MongoDB pour stocker et interroger les données, tandis qu’Elasticsearch est utilisé pour l’indexation en texte intégral sur les données. Par conséquent, la combinaison des deux (Elasticsearch pour l’indexation et MongoDB pour le stockage) est l’une des architectures communes que de nombreuses entreprises suivent.

Elasticsearch est développé à des fins de recherche et fournit également des fonctionnalités avancées pour l’indexation des données. Il fonctionne aux côtés de Kibana et Logstash pour l’analyse des données.

L’un des avantages de l’utilisation d’Elasticsearch est qu’il permet une recherche rapide de tous les champs du document spécifié. Nous pouvons considérer cela comme une recherche Google personnelle de nos données.

Nous pouvons également utiliser Elasticsearch dans différents scénarios. Par exemple, nous pouvons effectuer une synchronisation, créer un moteur de recherche, migration de données, indexation, etc.

Nous apprendrons à utiliser Elasticsearch avec MongoDB à des fins de synchronisation pour ce tutoriel.

Utiliser Elasticsearch pour effectuer la synchronisation

Nous devons suivre les étapes ci-dessous pour effectuer la synchronisation à l’aide d’Elasticsearch et de MongoDB sous Windows/Ubuntu. Avant cela, assurez-vous d’avoir toutes les dépendances.

Par exemple, nous utilisons Node.js pour cet exemple de code. De plus, continuez à exécuter les deux moteurs de base de données (MongoDB et Elasticsearch).

Après cela, suivons les étapes.

  • Importez les packages mongoose et mongoosastic.
  • Établissez une connexion réussie avec le moteur MongoDB.
  • Créez un schéma MongoDB.
  • Utilisez le plugin mongoosastic pour vous connecter à Elasticsearch.
  • Commencez par créer le modèle MongoDB, puis le mappage Elasticsearch.
  • Ajoutez des données à votre base de données MongoDB, et elles doivent être synchronisées avec Elasticsearch.

Exemple de code (mettez tout le code dans un fichier, nous l’avons dans le fichier app.js) :

// Step 1:
const mongoose = require('mongoose');
const mongoosastic = require('mongoosastic');

// Step 2:
mongoose.connect('mongodb://localhost:27017/studentdb');

// Step 3:
var StudentSchema =
    new mongoose.Schema({firstname: String, lastname: String, city: String});

// Step 4:
StudentSchema.plugin(mongoosastic, {'host': 'localhost', 'port': 9200});

// Step 5:
var Student = mongoose.model('student', StudentSchema);
Student.createMapping((err, mapping) => {
  console.log('mapping created');
});

// Step 6:
var newStudent =
    new Student({firstname: 'Mehvish', lastname: 'Ashiq', city: 'Lahore'});

newStudent.save((err) => {
  if (err) {
    console.log(err);
  }
  console.log('Student is added in both databases');
})

newStudent.on('es-indexed', (err, result) => {
  console.log('indexed to elastic search');
});

Maintenant, exécutez ce code ; ce serait comme suit.

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - exécutez le fichier

Confirmez l’entrée dans MongoDB comme suit.

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - confirmez l’entrée dans mongodb

Ensuite, ouvrez http://localhost:9200/students/_search pour le confirmer également sur Elasticsearch. Cela ressemblera à la capture d’écran suivante.

installez et utilisez elasticsearch avec mongodb sur windows et ubuntu - confirmez l’entrée dans elasticsearch

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook