Ovaj vodič pomoći će vam postaviti Azure AI pretraživanje pomoću Azure portala. Slijedite korake u nastavku za kreiranje i konfiguriranje vaše Azure AI pretraživačke usluge.
Prije nego počnete, provjerite imate li sljedeće:
https://<service-name>.search.windows.net.Azure AI pretraživanje integrira se s različitim alatima za poboljšanje vaših mogućnosti pretraživanja. Možete koristiti Azure CLI, Python SDK, .NET SDK i druge alate za napredne konfiguracije i operacije.
Prijavite se u Azure CLI koristeći naredbu:
az login
(Preporučeno) Omogućite pristup bez ključa s 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 nema polje "endpoint"; izgradi URL iz naziva usluge.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Kada je RBAC omogućen, Python i .NET SDK primjeri dolje autentificiraju se pomoću DefaultAzureCredential, koji koristi vašu az login sesiju tijekom lokalnog razvoja — nije potreban administratorski ključ. Pogledajte Connect to Azure AI Search using roles.
```bash
# zsh/bash
# az search service show nema polje "endpoint"; izgradite URL od imena usluge.
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 nema polje "endpoint"; izgradite URL od imena usluge.
$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)
```
Instalirajte Azure Cognitive Search klijentsku biblioteku i Azure Identity za Python:
pip install azure-search-documents azure-identity
Koristite sljedeći Python kod za kreiranje indeksa i učitavanje dokumenata:
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 (preporučeno): koristi vaš `az login` identitet putem Entra ID RBAC.
# Zahtijeva uloge "Search Service Contributor" i "Search Index Data Contributor".
credential = DefaultAzureCredential()
# Rezervna opcija (autentikacija temeljena na ključu):
# iz azure.core.credentials uvozi 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)
Pokrenite sljedeću naredbu za kreiranje indeksa i učitavanje dokumenata:
dotnet run ./AzureSearch.cs
Donji .NET primjer koristi DefaultAzureCredential, koji može koristiti vašu Azure CLI prijavu iz az login tijekom lokalnog razvoja.
Evo .NET koda iz 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}'.");
Za detaljnije informacije, pogledajte sljedeću dokumentaciju:
Uspješno ste postavili Azure AI pretraživanje koristeći Azure portal i integrirane alate. Sada možete istražiti naprednije značajke i mogućnosti Azure AI pretraživanja kako biste unaprijedili vaša pretraživačka rješenja.
Za dodatnu pomoć, posjetite Azure Cognitive Search dokumentaciju.
Napomena: Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.