À propos du projet

Elasticsearch est un moteur de recherche et d'analyse distribué, un magasin de données évolutif et une base de données vectorielle optimisés pour la vitesse et la pertinence sur des charges de travail de production. Il constitue la base de la plateforme Elastic Stack ouverte, permettant la recherche en temps quasi réel sur des ensembles de données massifs, les recherches vectorielles et l'intégration avec des applications d'IA générative. Les principaux cas d'usage incluent la génération augmentée de récupération (RAG), la recherche vectorielle, la recherche plein texte, les logs, les métriques, la surveillance des performances d'applications (APM) et l'analytique des logs de sécurité. Le projet est gratuit et open source, avec des contributions à Lucene et une gamme d'innovations en apprentissage automatique. Pour débuter : le chemin le plus simple est un déploiement géré sur Elastic Cloud, ou en auto-hébergement en téléchargeant depuis elastic.co. Pour le développement et les tests locaux, Elastic fournit un script start-local qui configure Elasticsearch et Kibana dans Docker : curl -fsSL https://elastic.co/start-local | sh Cela crée un dossier elastic-start-local, génère un mot de passe aléatoire pour l'utilisateur elastic, stocke une clé API dans .env, et expose Elasticsearch sur http://localhost:9200 et Kibana sur http://localhost:5601. La configuration utilise l'authentification basique et n'est accessible que via localhost ; elle n'est pas destinée à la production. Les utilisateurs interagissent avec Elasticsearch via des API REST. Des exemples curl montrent la création d'index, l'ajout de documents et la recherche. Les clients de langage officiels (ex. Python) prennent en charge l'authentification basique. La console Dev Tools de Kibana offre une interface pratique pour expérimenter avec les requêtes. Les documents sont des objets JSON, et l'indexation en masse utilise du JSON délimité par des sauts de ligne via l'API _bulk. Les recherches sont disponibles en temps quasi réel. Kibana Discover permet l'exploration interactive via des vues de données, visualisations et tableaux de bord. La mise à niveau depuis les versions antérieures est couverte dans la documentation officielle de mise à niveau. La compilation depuis les sources utilise Gradle ; l'exécution de ./gradlew localDistro construit une distribution pour l'OS local, et des commandes d'assemblage spécifiques à la plateforme existent pour Linux, macOS et Windows. Les tests sont décrits dans TESTING.asciidoc. La documentation complète est disponible sur elastic.co. Le dépôt elasticsearch-labs contient des notebooks Python, des exemples d'applications et des ressources pour la recherche vectorielle, la recherche hybride et les cas d'usage d'IA générative. Les contributions sont bienvenues via CONTRIBUTING.md ; les bugs et demandes de fonctionnalités peuvent être signalés comme GitHub Issues, et le support communautaire est disponible via le Forum Elastic et Slack.