Denna guide hjälper dig att konfigurera Azure AI Search med hjälp av Azure-portalen. Följ stegen nedan för att skapa och konfigurera din Azure AI Search-tjänst.
Innan du börjar, se till att du har följande:
https://<service-name>.search.windows.net.Azure AI Search integreras med olika verktyg för att förbättra dina sökmöjligheter. Du kan använda Azure CLI, Python SDK, .NET SDK och andra verktyg för avancerade konfigurationer och operationer.
Logga in på Azure CLI med kommandot:
az login
(Rekommenderat) Aktivera nyckellös åtkomst med 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 har inget "endpoint"-fält; skapa URL:en från tjänstens namn.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Med RBAC aktiverat autentiserar Python- och .NET SDK-exemplen nedan med DefaultAzureCredential, som använder din az login-session under lokal utveckling — ingen administratörsnyckel behövs. Se Anslut till Azure AI Search med roller.
```bash
# zsh/bash
# az search service show har inget "endpoint"-fält; bygga URL från tjänstenamn.
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 har inget "endpoint"-fält; bygga URL från tjänstenamn.
$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)
```
Installera Azure Cognitive Search-klientbiblioteket och Azure Identity för Python:
pip install azure-search-documents azure-identity
Använd följande Python-kod för att skapa ett index och ladda upp dokument:
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 (rekommenderas): använder din `az login`-identitet via Entra ID RBAC.
# Kräver rollerna "Search Service Contributor" och "Search Index Data Contributor".
credential = DefaultAzureCredential()
# Reservplan (nyckelbaserad autentisering):
# från 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)
Kör följande kommando för att skapa ett index och ladda upp dokument:
dotnet run ./AzureSearch.cs
.NET-exemplet nedan använder DefaultAzureCredential, som kan använda din Azure CLI-inloggning från az login under lokal utveckling.
Här är .NET-koden för 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 mer detaljerad information, se följande dokumentation:
Du har framgångsrikt konfigurerat Azure AI Search med Azure-portalen och integrerade verktyg. Du kan nu utforska mer avancerade funktioner och möjligheter med Azure AI Search för att förbättra dina söklösningar.
För vidare hjälp, besök Azure Cognitive Search-dokumentationen.
Ansvarsfriskrivning: Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.