Bu kılavuz, Azure portalını kullanarak Azure AI Arama’yı kurmanıza yardımcı olacaktır. Azure AI Arama hizmetinizi oluşturmak ve yapılandırmak için aşağıdaki adımları izleyin.
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
https://<service-name>.search.windows.net şeklinde olmalıdır.Azure AI Arama, arama yeteneklerinizi geliştirmek için çeşitli araçlarla entegre olur. Azure CLI, Python SDK, .NET SDK ve diğer araçları gelişmiş yapılandırmalar ve işlemler için kullanabilirsiniz.
Azure CLI’ya şu komutla giriş yapın:
az login
(Önerilen) Microsoft Entra ID (RBAC) ile anahtarsız erişimi etkinleştirin:
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'da "endpoint" alanı yok; URL'yi servis adından oluştur.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
RBAC etkinleştirildiğinde, aşağıdaki Python ve .NET SDK örnekleri yerel geliştirme sırasında az login oturumunuzu kullanan DefaultAzureCredential ile kimlik doğrulaması yapar — yönetici anahtarına gerek yoktur. Ayrıntılar için Rollerle Azure AI Search’a Bağlanma sayfasına bakınız.
```bash
# zsh/bash
# az search service show komutunda "endpoint" alanı yok; servis adından URL oluşturun.
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 komutunda "endpoint" alanı yok; servis adından URL oluşturun.
$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 istemci kitaplığı ve Python için Azure Kimlik doğrulaması kitaplığını yükleyin:
pip install azure-search-documents azure-identity
Bir dizin oluşturmak ve belgeleri yüklemek için aşağıdaki Python kodunu kullanın:
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"
# Anahtarsız (önerilir): Entra ID RBAC aracılığıyla `az login` kimliğinizi kullanır.
# "Arama Servisi Katkıda Bulunan" ve "Arama İndeksi Veri Katkıda Bulunan" rolleri gerektirir.
credential = DefaultAzureCredential()
# Yedek (anahtara dayalı kimlik doğrulama):
# 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)
Bir dizin oluşturmak ve belgeleri yüklemek için aşağıdaki komutu çalıştırın:
dotnet run ./AzureSearch.cs
Aşağıdaki .NET örneği, yerel geliştirme sırasında az login ile Azure CLI oturumunuzu kullanabilen DefaultAzureCredential kullanır.
İşte AzureSearch.cs dosyasının .NET kodu:
#: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}'.");
Daha ayrıntılı bilgi için aşağıdaki belgelere bakabilirsiniz:
Azure portalı ve entegre araçları kullanarak Azure AI Arama’yı başarıyla kurdunuz. Artık Azure AI Arama’nın daha gelişmiş özelliklerini ve yeteneklerini keşfederek arama çözümlerinizi geliştirebilirsiniz.
Daha fazla yardım için Azure Cognitive Search belgeleri sayfasını ziyaret edin.
Feragatname: Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalardan veya yanlış yorumlamalardan sorumlu değiliz.