Panduan ini akan membantu Anda mengatur Azure AI Search menggunakan portal Azure. Ikuti langkah-langkah di bawah ini untuk membuat dan mengonfigurasi layanan Azure AI Search Anda.
Sebelum Anda mulai, pastikan Anda memiliki hal-hal berikut:
https://<service-name>.search.windows.net.Azure AI Search terintegrasi dengan berbagai alat untuk meningkatkan kemampuan pencarian Anda. Anda dapat menggunakan Azure CLI, Python SDK, .NET SDK, dan alat lainnya untuk konfigurasi dan operasi tingkat lanjut.
Masuk ke Azure CLI menggunakan perintah:
az login
(Direkomendasikan) Aktifkan akses tanpa kunci dengan 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 tidak memiliki bidang "endpoint"; buat URL dari nama layanan.
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
Dengan RBAC diaktifkan, contoh Python dan .NET SDK di bawah mengautentikasi menggunakan DefaultAzureCredential, yang menggunakan sesi az login Anda selama pengembangan lokal — tidak perlu kunci admin. Lihat Connect to Azure AI Search using roles.
```bash
# zsh/bash
# az search service show tidak memiliki field "endpoint"; buat URL dari nama layanan.
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 tidak memiliki field "endpoint"; buat URL dari nama layanan.
$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)
```
Instal perpustakaan klien Azure Cognitive Search dan Azure Identity untuk Python:
pip install azure-search-documents azure-identity
Gunakan kode Python berikut untuk membuat indeks dan mengunggah dokumen:
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 (disarankan): menggunakan identitas `az login` Anda melalui Entra ID RBAC.
# Memerlukan peran "Search Service Contributor" dan "Search Index Data Contributor".
credential = DefaultAzureCredential()
# Cadangan (otentikasi berbasis kunci):
# dari azure.core.credentials impor 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)
Jalankan perintah berikut untuk membuat indeks dan mengunggah dokumen:
dotnet run ./AzureSearch.cs
Contoh .NET di bawah menggunakan DefaultAzureCredential, yang dapat menggunakan sign-in Azure CLI Anda dari az login selama pengembangan lokal.
Berikut kode .NET dari 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}'.");
Untuk informasi lebih rinci, lihat dokumentasi berikut:
Anda telah berhasil mengatur Azure AI Search menggunakan portal Azure dan alat terkait. Kini Anda dapat mengeksplorasi fitur dan kemampuan Azure AI Search yang lebih canggih untuk meningkatkan solusi pencarian Anda.
Untuk bantuan lebih lanjut, kunjungi dokumentasi Azure Cognitive Search.
Penafian: Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk mencapai akurasi, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.