Cette page répertorie les API couramment utilisées dans Elasticsearch Agent Engine Edition. Les paramètres de requête, les champs de réponse et les limites sont documentés sur les pages d'opération accessibles via les liens de cette page. Les API et les exemples présentés se basent sur la version 9.99.0 d'Agent Engine Edition ; cette liste n'est pas exhaustive.
Rechercher des API par opération
Pour une présentation des fonctionnalités d'Agent Engine Edition et les étapes complètes de prise en main, consultez la rubrique Présentation des fonctionnalités.
|
Opération |
Références |
|
Créer, mettre à jour et supprimer des Collections ; gérer les Slices, Backings et Aliases |
|
|
Lire et écrire des documents, traiter des données par lots et exécuter des requêtes |
Opérations d'écriture, de lecture et de requête de documents |
|
Configurer des champs vectoriels et exécuter des requêtes KNN |
|
|
Préchauffer les caches des Slices et interroger les tâches de préchauffage |
|
|
Copier les données des Slices et gérer les tâches de copie |
|
|
Créer et utiliser des Branch Slices accessibles en écriture |
|
|
Configurer des clusters vectoriels et sélectionner automatiquement les Slices candidats |
|
|
Afficher l'état d'exécution des Collections, Backings et Slices |
Deux autres points d'entrée ne figurent pas dans le tableau ci-dessus. Pour la surveillance des instances et la configuration des autorisations, consultez la rubrique Opérations sur les instances. Pour connaître les limites quantitatives et les périmètres fonctionnels, reportez-vous à la page Limites d'Agent Engine Edition.
Sélectionner une cible de requête
Accédez à un index standard via son nom d'index. Lorsque vous utilisez une Collection, accédez aux données par le biais du nom de la Collection ou d'un Alias de Collection, et indiquez _slice dans l'URL de la requête lorsque l'API l'exige. Pour plus d'informations sur les endpoints, les réseaux et l'authentification des instances, consultez la rubrique Créer et se connecter à une instance Agent Engine Edition.
Les réponses d'Agent Engine Edition exposent également des noms et identifiants gérés par le système. Distinguez-les bien des noms métier fournis par votre application :
|
Informations de réponse |
Signification et utilisation |
|
Le champ |
Il peut s'agir du nom d'un index sous-jacent au format |
|
La valeur |
Il peut s'agir d'un identifiant interne de Slice attribué par le système ( |
|
Les champs |
Le nom métier du Slice, par exemple |
|
Le champ |
L'identité interne du Slice de destination, utilisée pour vérifier le résultat des demandes de création répétées. Pour accéder à la destination, continuez d'utiliser le nom |
Si vous supprimez un Slice puis enregistrez un nouveau Slice portant le même nom, l'identité interne du Slice nouvellement enregistré peut différer de celle du Slice supprimé. Les applications ne doivent pas déduire les noms métier à partir des identifiants internes ni considérer le nouveau Slice comme une continuation du cycle de vie du Slice supprimé.
Évaluer les requêtes et les résultats
Type de contenu de la requête — Utilisez
Content-Type: application/jsonpour les requêtes JSON. Pour les requêtes Bulk et Multi Search, utilisezContent-Type: application/x-ndjsonet conservez le saut de ligne à la fin du corps de la requête.Échecs au niveau des éléments — Les API Bulk, Multi Search, de gestion par lots, d'enregistrement de Slice unique et d'enregistrement de Slices par lots peuvent signaler des échecs au niveau des éléments dans une réponse HTTP 200. Ne vous fiez pas uniquement au code d'état HTTP. Gérez les réponses non 2xx et, dans les réponses réussies, vérifiez les champs de niveau supérieur
errorsetitems[].result.HTTP 429 — Le serveur rejette actuellement la requête. Appliquez une stratégie de nouvelle tentative avec backoff exponentiel plafonné et ne retentez que les opérations idempotentes ou dont vous avez déjà confirmé le résultat.
Délais de connexion et HTTP 5xx — Un délai de connexion ou une réponse HTTP 5xx ne signifie pas nécessairement que l'écriture n'a pas eu lieu. Avant de retenter l'opération, vérifiez le résultat en utilisant un ID de document stable ou un autre mécanisme d'idempotence. Vous pouvez également relire le document via l'un des endpoints de lecture indiqués dans le tableau de référence rapide des API Collection et Slice.
Longueur de l'URL — Lorsque vous transmettez un grand nombre de valeurs
_slicedans l'URL, la requête est soumise à la limite de longueur de la ligne de requête HTTP (4 096 octets par défaut, contrôlée parhttp.max_initial_line_length). Si les noms de Slice sont longs, l'exceptiontoo_long_http_line_exceptionpeut survenir avant d'atteindre la limite quantitative de Slices.Délais d'expiration de gestion — Les API de gestion de Collection utilisent couramment
master_timeout(temps d'attente pour que le nœud maître traite la requête ; valeur par défaut :30s) ettimeout(temps d'attente pour un accusé de réception ou le résultat actuel ; valeur par défaut :30s). Si une requête de gestion renvoieacknowledged=falseou expire, l'opération côté serveur n'a pas nécessairement été annulée. Interrogez l'état actuel de la ressource avant de retenter l'opération.
Référence rapide des API Collection et Slice
Le tableau suivant résume les API publiques destinées aux scénarios Collection et Slice, regroupées par objectif, à l'exclusion des API internes de maintenance de la plateforme. Les endpoints pour les Collections, Slices, Backings, Copy Slice, Branch Slice et le préchauffage des Slices sont des extensions d'Agent Engine Edition, tout comme les endpoints de surveillance des Collections, Backings et Slices ; les autres endpoints sont des API Elasticsearch standard. Dans la colonne API, les crochets indiquent un segment de chemin facultatif et les accolades encadrent un paramètre que vous devez remplacer par votre propre valeur. Utilisez ce tableau pour retrouver l'endpoint correspondant à une tâche connue, et consultez le tableau des opérations de la section « Rechercher des API par opération » pour accéder à la page détaillée de cette tâche.
|
Objectif |
API |
|
Créer une Collection |
|
|
Obtenir une Collection |
|
|
Mettre à jour une Collection |
|
|
Supprimer une Collection |
|
|
Enregistrer un Slice |
|
|
Enregistrer des Slices par lot |
|
|
Interroger un Slice unique |
|
|
Lister les Slices avec pagination |
|
|
Supprimer un Slice |
|
|
Précréer des Backings |
|
|
Lire et écrire un document unique |
|
|
Écrire et lire par lots |
|
|
Rechercher et compter |
|
|
Exécuter des modèles de recherche, gérer les recherches asynchrones et inspecter ou valider des requêtes |
|
|
Mettre à jour ou supprimer par requête |
|
|
Réindexer |
|
|
Mettre à jour les mappings |
|
|
Mettre à jour les paramètres dynamiques |
|
|
Actualisation explicite |
|
|
Préchauffer les caches des Slices |
|
|
Interroger une tâche de préchauffage |
|
|
Gérer les Aliases de Collection |
|
|
Démarrer Copy Slice |
|
|
Interroger l'état de Copy Slice |
|
|
Annuler Copy Slice |
|
|
Créer un Branch Slice (Bêta) |
|
|
Afficher l'état d'exécution de la Collection |
|
|
Afficher l'état d'exécution du Backing |
|
|
Afficher l'état d'exécution du Slice |
|
|
Surveillance du cluster et des nœuds |
|