Licence
Sécurité
Elasticsearch est un moteur de recherche et d'analyse distribué, un magasin de données évolutif et une base de données vectorielles optimisés pour la rapidité et la pertinence des charges de travail à l'échelle de la production. Elasticsearch est la base de la plateforme open Stack d'Elastic. Recherchez en temps quasi réel sur des ensembles de données volumineux, effectuez des recherches vectorielles, intégrez des applications d'IA générative et bien plus encore.
Les cas d'utilisation activés par Elasticsearch incluent :
Génération augmentée de récupération (RAG)
Recherche de vecteurs
Recherche en texte intégral
Journaux
Métrique
Surveillance des performances des applications (APM)
Journaux de sécurité
... et bien plus encore !
Pour en savoir plus sur les fonctionnalités et capacités d'Elasticsearch, consultez notre page produit.
Pour accéder à des informations sur les innovations en matière d'apprentissage automatique et aux dernières contributions Lucene d'Elastic, plus d'informations peuvent être trouvées dans Search Labs.
Le moyen le plus simple de configurer Elasticsearch consiste à créer un déploiement géré avec Elasticsearch Service sur Elastic Cloud.
Si vous préférez installer et gérer Elasticsearch vous-même, vous pouvez télécharger la dernière version depuis elastic.co/downloads/elasticsearch.
Avertissement | N'UTILISEZ PAS CES INSTRUCTIONS POUR LES DÉPLOYEMENTS EN PRODUCTION. Cette configuration est destinée uniquement au développement et aux tests locaux. |
Configurez rapidement Elasticsearch et Kibana dans Docker pour le développement ou les tests locaux, à l'aide du script start-local
.
ℹ️ Pour des informations plus détaillées sur la configuration start-local
, reportez-vous au README sur GitHub.
Si Docker n'est pas installé, téléchargez et installez Docker Desktop pour votre système d'exploitation.
Si vous utilisez Microsoft Windows, installez le sous-système Windows pour Linux (WSL).
Cette configuration est livrée avec une licence d'essai d'un mois qui inclut toutes les fonctionnalités Elastic.
Après la période d'essai, la licence revient à Free and open - Basic . Reportez-vous à Abonnements Elastic pour plus d'informations.
start-local
Pour configurer Elasticsearch et Kibana localement, exécutez le script start-local
:
curl -fsSL https://elastic.co/start-local | merde
Ce script crée un dossier elastic-start-local
contenant les fichiers de configuration et démarre Elasticsearch et Kibana à l'aide de Docker.
Après avoir exécuté le script, vous pouvez accéder aux services Elastic sur les points de terminaison suivants :
Elasticsearch : http://localhost:9200
Kibana : http://localhost:5601
Le script génère un mot de passe aléatoire pour l'utilisateur elastic
, qui est affiché à la fin de l'installation et stocké dans le fichier .env
.
Prudence | Cette configuration est destinée uniquement aux tests locaux. HTTPS est désactivé et l'authentification de base est utilisée pour Elasticsearch. Pour des raisons de sécurité, Elasticsearch et Kibana sont accessibles uniquement via |
Une clé API pour Elasticsearch est générée et stockée dans le fichier .env
sous le nom ES_LOCAL_API_KEY
. Utilisez cette clé pour vous connecter à Elasticsearch avec un client de langage de programmation ou l'API REST.
Depuis le dossier elastic-start-local
, vérifiez la connexion à Elasticsearch à l'aide curl
:
source .env curl $ES_LOCAL_URL -H " Autorisation : ApiKey ${ES_LOCAL_API_KEY} "
Vous envoyez des données et d'autres requêtes à Elasticsearch via les API REST. Vous pouvez interagir avec Elasticsearch à l'aide de n'importe quel client qui envoie des requêtes HTTP, tels que les clients du langage Elasticsearch et curl.
Voici un exemple de commande curl pour créer un nouvel index Elasticsearch, en utilisant l'authentification de base :
curl -u élastique : $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' Content-Type : application/json '
Pour vous connecter à votre cluster de développement Elasticsearch local avec un client de langue, vous pouvez utiliser l'authentification de base avec le nom d'utilisateur elastic
et le mot de passe que vous avez défini dans la variable d'environnement.
Vous utiliserez les détails de connexion suivants :
Point de terminaison Elasticsearch : http://localhost:9200
Nom d'utilisateur : elastic
Mot de passe : $ELASTIC_PASSWORD
(Valeur que vous définissez dans la variable d'environnement)
Par exemple, pour vous connecter au client Python elasticsearch
:
importer l'os depuis elasticsearch importer le nom d'utilisateur Elasticsearch = 'elastic' mot de passe = os . getenv ( 'ELASTIC_PASSWORD' ) # Valeur que vous avez définie dans la variable d'environnement client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( username , password ) ) print ( client . info ())
La console développeur de Kibana offre un moyen simple d'expérimenter et de tester les requêtes. Pour accéder à la console, ouvrez Kibana, puis accédez à Management > Dev Tools .
Ajouter des données
Vous indexez les données dans Elasticsearch en envoyant des objets JSON (documents) via les API REST. Que vous ayez du texte structuré ou non structuré, des données numériques ou des données géospatiales, Elasticsearch les stocke et les indexe efficacement de manière à prendre en charge des recherches rapides.
Pour les données horodatées telles que les journaux et les métriques, vous ajoutez généralement des documents à un flux de données composé de plusieurs index de sauvegarde générés automatiquement.
Pour ajouter un seul document à un index, soumettez une requête de publication HTTP qui cible l'index.
POST /customer/_doc/1 { "prénom": "Jennifer", "nom": "Walters" }
Cette requête crée automatiquement l'index customer
s'il n'existe pas, ajoute un nouveau document ayant un ID de 1, et stocke et indexe les champs firstname
et lastname
.
Le nouveau document est disponible immédiatement à partir de n'importe quel nœud du cluster. Vous pouvez le récupérer avec une requête GET qui spécifie son ID de document :
OBTENIR /client/_doc/1
Pour ajouter plusieurs documents dans une seule requête, utilisez l'API _bulk
. Les données groupées doivent être au format JSON délimité par des nouvelles lignes (NDJSON). Chaque ligne doit se terminer par un caractère de nouvelle ligne ( n
), y compris la dernière ligne.
PUT customer/_bulk { "create": { } } { "firstname": "Monica", "lastname": "Rambeau"} { "create": { } } { "firstname": "Carol", "lastname": "Danvers"} { "create": { } } { "firstname": "Wanda","lastname":"Maximoff"} { "create": { } } { "firstname": "Jennifer","lastname": "Takeda"}
Recherche
Les documents indexés sont disponibles pour la recherche en temps quasi réel. La recherche suivante correspond à tous les clients dont le prénom est Jennifer dans l'index customer
.
GET customer/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
Explorer
Vous pouvez utiliser Discover dans Kibana pour rechercher et filtrer vos données de manière interactive. À partir de là, vous pouvez commencer à créer des visualisations et à créer et partager des tableaux de bord.
Pour commencer, créez une vue de données qui se connecte à un ou plusieurs index Elasticsearch, flux de données ou alias d'index.
Accédez à Gestion > Gestion de la pile > Kibana > Vues de données .
Sélectionnez Créer une vue de données .
Entrez un nom pour la vue de données et un modèle qui correspond à un ou plusieurs indices, tels que customer .
Sélectionnez Enregistrer la vue des données dans Kibana .
Pour commencer à explorer, accédez à Analytics > Discover .
Pour effectuer une mise à niveau à partir d'une version antérieure d'Elasticsearch, consultez la documentation de mise à niveau d'Elasticsearch.
Elasticsearch utilise Gradle pour son système de build.
Pour créer une distribution pour votre système d'exploitation local et imprimer son emplacement de sortie une fois terminé, exécutez :
./gradlew localDistro
Pour créer une distribution pour une autre plateforme, exécutez la commande associée :
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
Pour créer des distributions pour toutes les plates-formes prises en charge, exécutez :
./gradlew assembler
Les distributions sont sorties vers distribution/archives
.
Pour exécuter la suite de tests, voir TEST.
Pour la documentation complète d'Elasticsearch, visitez elastic.co.
Pour plus d'informations sur nos processus de documentation, consultez la documentation README.
Le dépôt elasticsearch-labs
contient des blocs-notes Python exécutables, des exemples d'applications et des ressources pour tester Elasticsearch pour les cas d'utilisation de la recherche vectorielle, de la recherche hybride et de l'IA générative.
Pour les directives de contribution, voir CONTRIBUER.
Pour signaler un bug ou demander une fonctionnalité, créez un problème GitHub. Veuillez vous assurer que quelqu'un d'autre n'a pas créé de problème pour le même sujet.
Besoin d'aide pour utiliser Elasticsearch ? Contactez-nous sur le forum Elastic ou sur Slack. Un autre membre de la communauté ou un ingénieur Elastic se fera un plaisir de vous aider.