این راهنما به شما کمک میکند تا Azure AI Search را با استفاده از پرتال Azure راهاندازی کنید. مراحل زیر را دنبال کنید تا سرویس 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)
# سرویس جستجو show فیلد "endpoint" ندارد؛ آدرس URL را از نام سرویس بسازید.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
با فعالسازی RBAC، نمونههای SDK پایتون و .NET زیر با استفاده از DefaultAzureCredential احراز هویت میکنند که در زمان توسعه محلی از جلسه az login شما استفاده میکند — نیازی به کلید مدیریت نیست. مشاهده کنید اتصال به Azure AI Search با استفاده از نقشها.
```bash
# zsh/bash
# دستور az search service show فیلد "endpoint" ندارد؛ URL را از نام سرویس بسازید.
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
# پاورشل
# دستور az search service show فیلد "endpoint" ندارد؛ URL را از نام سرویس بسازید.
$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 برای پایتون را نصب کنید:
pip install azure-search-documents azure-identity
از کد پایتون زیر برای ایجاد ایندکس و بارگذاری اسناد استفاده کنید:
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"
# بدون کلید (توصیه شده): از هویت `az login` شما از طریق دسترسی RBAC در Entra ID استفاده میکند.
# نیازمند نقشهای "مشارکتکننده سرویس جستجو" و "مشارکتکننده داده شاخص جستجو" است.
credential = DefaultAzureCredential()
# حالت جایگزین (احراز هویت مبتنی بر کلید):
# از azure.core.credentials وارد کردن 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 و ابزارهای یکپارچهشده راهاندازی کردهاید. اکنون میتوانید ویژگیها و قابلیتهای پیشرفتهتر Azure AI Search را برای بهبود راهحلهای جستجوی خود کاوش کنید.
برای کمکهای بیشتر، به مستندات Azure Cognitive Search مراجعه کنید.
سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.