Prise en charge d’OData (Recherche Azure AI)
L’API Azure AI service Search utilise le protocole OData (Open Data Protocol) pour les requêtes d’index. Recherche Azure AI prend en charge OData version 4.
OData définit quelques en-têtes de demande HTTP que vous pouvez déterminer. Vous pouvez utiliser des valeurs spécifiques d'OData pour l'en-tête Accept, telles que application/json;odata.metadata=none
pour contrôler la quantité de métadonnées incluses dans la réponse. Par défaut, il s’agit de odata.metadata=minimal
. Par souci de concision, tous les exemples présentés dans ce document supposent que la valeur est odata.metadata=none
.
Vous pouvez également définir l'en-tête OData-MaxVersion
. L’API azure AI Search Service prend en charge OData V4. Vous devez donc définir sur OData-MaxVersion
« 4.0 ». Cette option indique à l'API d'attendre le format OData V4 dans le corps de la demande, et d'envoyer des réponses au format OData V4. À l'avenir, quand nous ajouterons la prise en charge de versions plus récentes du protocole OData, vous pourrez définir cet en-tête sur une autre valeur. L’API Azure AI service Search ne prend pas en charge les versions d’OData antérieures à V4.
Pour plus d’informations sur l’utilisation d’OData dans les filtres et les expressions de tri, consultez Syntaxe d’expression OData pour Azure AI Search . Pour obtenir une autre syntaxe , consultez Syntaxe de requête simple dans Recherche Azure AI .
L'API de service Search prend en charge la syntaxe OData pour la recherche d'entité : cela s'applique à la fois aux deux documents d'un index, et aux index eux-mêmes (où le nom d'index est la clé d'entité). Voici un récapitulatif de toutes les API qui ont une autre syntaxe OData :
Mise à jour d'un index
PUT /indexes('[index name]')?api-version=2015-02-28
Obtention d'un index
GET /indexes('[index name]')?api-version=2015-02-28
Obtention de statistiques d'index
GET /indexes('[index name]')/stats?api-version=2015-02-28
Suppression d'un index
DELETE /indexes('[index name]')?api-version=2015-02-28
Ajout et suppression de données dans un index
POST /indexes('[index name]')/docs/index?api-version=2015-02-28
action
GET /indexes('[index name]')/docs?[query parameters]
Lookup
GET /indexes('[index name]')/docs('[key]')?[query parameters]
Count
GET /indexes('[index name]')/docs/$count?api-version=2015-02-28
Suggestions
GET /indexes('[index name]')/docs/suggest?[query parameters]