این راهنما به شما کمک میکند تا جستجوی هوش مصنوعی Azure را با استفاده از پرتال Azure راهاندازی کنید. برای ایجاد و پیکربندی سرویس جستجوی هوش مصنوعی Azure مراحل زیر را دنبال کنید.
قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:
https://<service-name>.search.windows.net باشد.جستجوی هوش مصنوعی Azure با ابزارهای مختلفی ادغام میشود تا قابلیتهای جستجوی شما را افزایش دهد. میتوانید از 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 را از طریق پرتال Azure و ابزارهای یکپارچه راهاندازی کردهاید. اکنون میتوانید قابلیتها و ویژگیهای پیشرفتهتر جستجوی هوش مصنوعی Azure را برای بهبود راهحلهای جستجوی خود بررسی کنید.
برای دریافت کمک بیشتر، به مستندات Azure Cognitive Search مراجعه کنید.
سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.