Αυτός ο οδηγός θα σας βοηθήσει να ρυθμίσετε το Azure AI Search χρησιμοποιώντας το Azure portal. Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε και να διαμορφώσετε την υπηρεσία Azure AI Search.
Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε τα εξής:
https://<service-name>.search.windows.net.Το Azure AI Search ενσωματώνεται με διάφορα εργαλεία για να ενισχύσει τις δυνατότητες αναζήτησής σας. Μπορείτε να χρησιμοποιήσετε Azure CLI, Python SDK, .NET SDK και άλλα εργαλεία για προχωρημένες διαμορφώσεις και λειτουργίες.
Συνδεθείτε στο Azure CLI χρησιμοποιώντας την εντολή:
az login
(Συνιστάται) Ενεργοποιήστε την πρόσβαση χωρίς κλειδί με 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 has no "endpoint" field; build the URL from the service name.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Με το RBAC ενεργοποιημένο, τα παραδείγματα Python και .NET SDK παρακάτω αυθεντικοποιούνται με DefaultAzureCredential, το οποίο χρησιμοποιεί τη συνεδρία σας az login κατά την τοπική ανάπτυξη — δεν απαιτείται κλειδί διαχειριστή. Δείτε το Connect to Azure AI Search using roles.
# az search service show has no "endpoint" field; build the URL from the service name.
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 has no "endpoint" field; build the URL from the service name.
$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)
Εγκαταστήστε τη βιβλιοθήκη πελάτη Azure Cognitive Search και Azure Identity για Python:
pip install azure-search-documents azure-identity
Χρησιμοποιήστε τον ακόλουθο κώδικα Python για να δημιουργήσετε ένα ευρετήριο και να ανεβάσετε έγγραφα:
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 (recommended): uses your `az login` identity via Entra ID RBAC.
# Requires the "Search Service Contributor" and "Search Index Data Contributor" roles.
credential = DefaultAzureCredential()
# Fallback (key-based auth):
# 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)
Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε ένα ευρετήριο και να ανεβάσετε έγγραφα:
dotnet run ./AzureSearch.cs
Το παράδειγμα .NET παρακάτω χρησιμοποιεί DefaultAzureCredential, το οποίο μπορεί να χρησιμοποιήσει την είσοδο Azure CLI σας από az login κατά την τοπική ανάπτυξη.
Εδώ είναι ο κώδικας .NET του 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}'.");
Για πιο λεπτομερείς πληροφορίες, ανατρέξτε στην ακόλουθη τεκμηρίωση:
Έχετε ρυθμίσει επιτυχώς το Azure AI Search χρησιμοποιώντας το Azure portal και τα ενσωματωμένα εργαλεία. Τώρα μπορείτε να εξερευνήσετε πιο προχωρημένες λειτουργίες και δυνατότητες του Azure AI Search για να βελτιώσετε τις λύσεις αναζήτησής σας.
Για περαιτέρω βοήθεια, επισκεφθείτε την τεκμηρίωση Azure Cognitive Search.
Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.