Deze handleiding helpt je bij het instellen van Azure AI Search via de Azure-portal. Volg de onderstaande stappen om je Azure AI Search-service te maken en configureren.
Zorg ervoor dat je vooraf het volgende hebt:
https://<service-naam>.search.windows.net.Azure AI Search integreert met verschillende tools om je zoekmogelijkheden te verbeteren. Je kunt Azure CLI, Python SDK, .NET SDK en andere tools gebruiken voor geavanceerde configuraties en bewerkingen.
Meld je aan bij Azure CLI met het commando:
az login
(Aanbevolen) Schakel sleutelvrije toegang in met 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 heeft geen "endpoint" veld; bouw de URL op basis van de servicenaam.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Met RBAC ingeschakeld, authenticeren de Python- en .NET SDK-voorbeelden hieronder met DefaultAzureCredential, die tijdens lokale ontwikkeling je az login sessie gebruikt — geen beheerderssleutel nodig. Zie Verbinding maken met Azure AI Search via rollen.
```bash
# zsh/bash
# az search service show heeft geen "endpoint"-veld; bouw de URL op basis van de service-naam.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-naam>.search.windows.net"
export AZURE_SEARCH_API_KEY=$(az search admin-key show -g <resource-groep> --service-name <service-naam> --query "primaryKey" -o tsv)
```
```powershell
# PowerShell
# az search service show heeft geen "endpoint"-veld; bouw de URL op basis van de service-naam.
$env:AZURE_SEARCH_SERVICE_ENDPOINT = "https://<service-naam>.search.windows.net"
$env:AZURE_SEARCH_API_KEY = $(az search admin-key show -g <resource-groep> --service-name <service-naam> --query "primaryKey" -o tsv)
```
Installeer de Azure Cognitive Search clientbibliotheek en Azure Identity voor Python:
pip install azure-search-documents azure-identity
Gebruik de volgende Python-code om een index te maken en documenten te uploaden:
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"
# Keyless (aanbevolen): gebruikt je `az login` identiteit via Entra ID RBAC.
# Vereist de rollen "Search Service Contributor" en "Search Index Data Contributor".
credential = DefaultAzureCredential()
# Terugval (op sleutel gebaseerde authenticatie):
# 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)
Voer de volgende opdracht uit om een index te maken en documenten te uploaden:
dotnet run ./AzureSearch.cs
De .NET voorbeeldcode hieronder gebruikt DefaultAzureCredential, die gedurende lokale ontwikkeling je Azure CLI aanmelding via az login kan gebruiken.
Hier is de .NET-code van 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}'.");
Voor meer gedetailleerde informatie raadpleeg je de volgende documentatie:
Je hebt Azure AI Search met succes ingesteld via de Azure-portal en geïntegreerde tools. Je kunt nu meer geavanceerde functies en mogelijkheden van Azure AI Search verkennen om je zoekoplossingen te verbeteren.
Voor verdere hulp kun je terecht in de Azure Cognitive Search documentatie.
Disclaimer: Dit document is vertaald met behulp van de AI vertaaldienst Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.