Dieser Leitfaden hilft Ihnen bei der Einrichtung von Azure AI Search über das Azure-Portal. Folgen Sie den untenstehenden Schritten, um Ihren Azure AI Search-Dienst zu erstellen und zu konfigurieren.
Stellen Sie vor Beginn sicher, dass Sie Folgendes haben:
https://<service-name>.search.windows.net aussehen.Azure AI Search integriert verschiedene Tools, um Ihre Suchfunktionen zu erweitern. Sie können die Azure CLI, das Python SDK, das .NET SDK und andere Tools für erweiterte Konfigurationen und Operationen verwenden.
Melden Sie sich mit dem Befehl bei der Azure CLI an:
az login
(Empfohlen) Aktivieren Sie den schlüssellosen Zugriff mit 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 hat kein "endpoint"-Feld; die URL wird aus dem Dienstnamen erstellt.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Mit aktiviertem RBAC authentifizieren sich die unten stehenden Python- und .NET-SDK-Beispiele über DefaultAzureCredential, der während der lokalen Entwicklung Ihre az login-Sitzung verwendet — kein Administrationsschlüssel erforderlich. Weitere Informationen finden Sie unter Connect to Azure AI Search using roles.
```bash
# zsh/bash
# az search service show hat kein "endpoint"-Feld; bauen Sie die URL aus dem Servicenamen zusammen.
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)
```
```powershell
# PowerShell
# az search service show hat kein "endpoint"-Feld; bauen Sie die URL aus dem Servicenamen zusammen.
$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)
```
Installieren Sie die Clientbibliothek Azure Cognitive Search und Azure Identity für Python:
pip install azure-search-documents azure-identity
Verwenden Sie den folgenden Python-Code, um einen Index zu erstellen und Dokumente hochzuladen:
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 (empfohlen): verwendet Ihre `az login` Identität über Entra ID RBAC.
# Erfordert die Rollen "Search Service Contributor" und "Search Index Data Contributor".
credential = DefaultAzureCredential()
# Fallback (schlüsselbasierte Authentifizierung):
# 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)
Führen Sie den folgenden Befehl aus, um einen Index zu erstellen und Dokumente hochzuladen:
dotnet run ./AzureSearch.cs
Das .NET-Beispiel unten verwendet DefaultAzureCredential, das Ihr Azure CLI-Anmeldeverfahren von az login während der lokalen Entwicklung nutzen kann.
Hier ist der .NET-Code von 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}'.");
Für detailliertere Informationen lesen Sie bitte die folgende Dokumentation:
Sie haben Azure AI Search erfolgreich über das Azure-Portal eingerichtet und in Tools integriert. Nun können Sie weitere fortgeschrittene Funktionen und Möglichkeiten von Azure AI Search erkunden, um Ihre Suchlösungen zu verbessern.
Für weitere Unterstützung besuchen Sie die Azure Cognitive Search-Dokumentation.
Haftungsausschluss: Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Bei kritischen Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.