Ce guide vous aidera à configurer Azure AI Search en utilisant le portail Azure. Suivez les étapes ci-dessous pour créer et configurer votre service Azure AI Search.
Avant de commencer, assurez-vous d’avoir les éléments suivants :
https://<service-name>.search.windows.net.Azure AI Search s’intègre à divers outils pour améliorer vos capacités de recherche. Vous pouvez utiliser Azure CLI, Python SDK, .NET SDK et d’autres outils pour des configurations et opérations avancées.
Connectez-vous à Azure CLI avec la commande :
az login
(Recommandé) Activez l’accès sans clé avec Microsoft Entra ID (RBAC) :
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
# az search service show n'a pas de champ "endpoint" ; construisez l'URL à partir du nom du service.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Avec RBAC activé, les exemples Python et .NET SDK ci-dessous s’authentifient avec DefaultAzureCredential, qui utilise votre session az login lors du développement local — aucune clé administrateur nécessaire. Voir Connect to Azure AI Search using roles.
# az search service show n'a pas de champ "endpoint" ; construisez l'URL à partir du nom du service.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
export AZURE_SEARCH_API_KEY=$(az search admin-key show -g <resource-group> --service-name <service-name> --query "primaryKey" -o tsv)
# az search service show n'a pas de champ "endpoint" ; construire l'URL à partir du nom du service.
$env:AZURE_SEARCH_SERVICE_ENDPOINT = "https://<service-name>.search.windows.net"
$env:AZURE_SEARCH_API_KEY = $(az search admin-key show -g <resource-group> --service-name <service-name> --query "primaryKey" -o tsv)
Installez la bibliothèque cliente Azure Cognitive Search et Azure Identity pour Python :
pip install azure-search-documents azure-identity
Utilisez ce code Python pour créer un index et télécharger des documents :
import os
from azure.identity import DefaultAzureCredential
from azure.search.documents import SearchClient
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import SearchIndex, SimpleField, edm
service_endpoint = os.getenv("AZURE_SEARCH_SERVICE_ENDPOINT")
index_name = "sample-index"
# Sans clé (recommandé) : utilise votre identité `az login` via Entra ID RBAC.
# Nécessite les rôles "Contributeur du service de recherche" et "Contributeur des données de l'index de recherche".
credential = DefaultAzureCredential()
# Repli (authentification par clé) :
# from azure.core.credentials import AzureKeyCredential
# credential = AzureKeyCredential(os.getenv("AZURE_SEARCH_API_KEY"))
index_client = SearchIndexClient(service_endpoint, credential)
fields = [
SimpleField(name="id", type=edm.String, key=True),
SimpleField(name="content", type=edm.String, searchable=True),
]
index = SearchIndex(name=index_name, fields=fields)
index_client.create_index(index)
search_client = SearchClient(service_endpoint, index_name, credential)
documents = [
{"id": "1", "content": "Hello world"},
{"id": "2", "content": "Azure Cognitive Search"}
]
search_client.upload_documents(documents)
Exécutez la commande suivante pour créer un index et télécharger des documents :
dotnet run ./AzureSearch.cs
L’exemple .NET ci-dessous utilise DefaultAzureCredential, qui peut utiliser votre connexion Azure CLI issue de az login pendant le développement local.
Voici le code .NET de AzureSearch.cs :
#:package Azure.Search.Documents@11.*
#:package Azure.Identity@1.21.0
#:property PublishAot=false
using Azure;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var serviceEndpoint = new Uri(Environment.GetEnvironmentVariable("AZURE_SEARCH_SERVICE_ENDPOINT")!);
var indexName = "sample-index";
// Keyless (recommended): uses your `az login` identity via Entra ID RBAC.
// Requires the "Search Service Contributor" and "Search Index Data Contributor" roles.
var credential = new DefaultAzureCredential();
// Fallback (key-based auth): the `using Azure;` directive above already imports
// AzureKeyCredential; replace the credential line above with:
// var credential = new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_SEARCH_API_KEY")!);
var indexClient = new SearchIndexClient(serviceEndpoint, credential);
var fields = new List<SearchField>()
{
new SimpleField("id", SearchFieldDataType.String) { IsKey = true },
new SearchableField("content")
};
var index = new SearchIndex(name: indexName, fields: fields);
var response = await indexClient.CreateOrUpdateIndexAsync(index);
Console.WriteLine($"Index '{response.Value.Name}' ready.");
var searchClient = new SearchClient(serviceEndpoint, indexName, credential);
var documents = new[]
{
new { id = "1", content = "Hello world" },
new { id = "2", content = "Azure Cognitive Search" }
};
var result = await searchClient.UploadDocumentsAsync(documents);
Console.WriteLine($"Uploaded {result.Value.Results.Count} documents to index '{response.Value.Name}'.");
Pour plus d’informations détaillées, consultez la documentation suivante :
Vous avez configuré avec succès Azure AI Search via le portail Azure et les outils intégrés. Vous pouvez désormais explorer des fonctionnalités et capacités plus avancées d’Azure AI Search pour optimiser vos solutions de recherche.
Pour obtenir plus d’aide, consultez la documentation Azure Cognitive Search.
Avertissement : Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d’interprétation découlant de l’utilisation de cette traduction.