ai-agents-for-beginners

Panduan Pengaturan Azure AI Search

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.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

Langkah 1: Buat Akun Penyimpanan Azure

  1. Ikuti petunjuk ini, Create an Azure storage account, untuk membuat Akun Penyimpanan Azure baru. CATATAN: Pastikan jenis Akun Penyimpanan adalah Standard General Purpose V2.
  1. Masuk ke portal Azure.
  2. Di panel navigasi sebelah kiri, klik Create a resource.
  3. Di kotak pencarian, ketik “Azure AI Search” dan pilih Azure AI Search dari daftar hasil.
  4. Klik tombol Create.
  5. Di tab Basics, isi informasi berikut:
    • Subscription: Pilih langganan Azure Anda.
    • Resource group: Buat grup sumber daya baru atau pilih yang sudah ada.
    • Resource name: Masukkan nama unik untuk layanan pencarian Anda.
    • Region: Pilih wilayah yang paling dekat dengan pengguna Anda.
    • Pricing tier: Pilih tingkat harga yang sesuai dengan kebutuhan Anda. Anda dapat memulai dengan tingkat Gratis untuk pengujian.
  6. Klik Review + create.
  7. Tinjau pengaturan dan klik Create untuk membuat layanan pencarian.
  1. Setelah penyebaran selesai, navigasikan ke layanan pencarian Anda di portal Azure.
  2. Di panel ringkasan layanan pencarian, salin URL. URL tersebut harus terlihat seperti https://<service-name>.search.windows.net.
  3. (Disarankan) Aktifkan akses tanpa kunci dengan Microsoft Entra ID (RBAC) seperti yang ditunjukkan di Langkah 4 di bawah ini — tanpa perlu kunci. Contoh pada panduan ini membuat/memperbarui indeks dan mengunggah dokumen, yang memerlukan peran Search Service Contributor dan Search Index Data Contributor (atau, untuk autentikasi berbasis kunci, primary admin key — bukan query key). Hanya jika Anda tidak dapat menggunakan RBAC, buka panel Settings > Keys dan salin primary admin key.
  4. Ikuti langkah-langkah di halaman Quickstart guide untuk membuat indeks, mengunggah data, dan melakukan pencarian.

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.

Menggunakan Azure CLI

  1. Instal Azure CLI dengan mengikuti instruksi di Install Azure CLI.
  2. Masuk ke Azure CLI menggunakan perintah berikut:

    az login
    
  3. (Disarankan) 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 has no "endpoint" field; build the URL from the service name.
     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 — tanpa perlu kunci admin. Lihat Connect to Azure AI Search using roles.

  4. (Cadangan) Autentikasi berbasis kunci — hanya jika Anda tidak dapat menggunakan RBAC, simpan juga kunci admin:

Simpan endpoint dan API key untuk instance Azure AI Search ke variabel lingkungan.

Menggunakan Python SDK

  1. Instal library klien Azure Cognitive Search dan Azure Identity untuk Python:

    pip install azure-search-documents azure-identity
    
  2. 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 (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)
    

Menggunakan .NET SDK

  1. Jalankan perintah berikut untuk membuat indeks dan mengunggah dokumen:

     dotnet run ./AzureSearch.cs
    

    Contoh .NET di bawah menggunakan DefaultAzureCredential, yang dapat menggunakan masuk Azure CLI Anda dari az login selama pengembangan lokal.

  2. 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:

Kesimpulan

Anda telah berhasil mengatur Azure AI Search menggunakan portal Azure dan alat terintegrasi. Sekarang Anda dapat mengeksplorasi fitur dan kemampuan Azure AI Search yang lebih canggih untuk meningkatkan solusi pencarian Anda.

Untuk bantuan lebih lanjut, kunjungi Azure Cognitive Search documentation.


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.