Menambahkan, Memperbarui, atau Menghapus Dokumen (Pratinjau REST API)

Berlaku untuk: 2023-07-01-Preview

Penting

Pratinjau 01-07-2023 menambahkan:

  • Dukungan untuk bidang vektor dalam dokumen.

Anda dapat mendorong dokumen yang berisi bidang vektor ke dalam indeks tertentu menggunakan HTTP POST. Untuk pembaruan besar, batching (hingga 1000 dokumen per batch, atau sekitar 16 MB per batch) meningkatkan performa pengindeksan.

POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=2023-07-01-Preview  
  Content-Type: application/json   
  api-key: [admin key]  

Parameter URI

Parameter Deskripsi
nama layanan Wajib diisi. Atur nilai ini ke nama unik yang ditentukan pengguna dari layanan pencarian Anda.
nama indeks Wajib diisi. Atur nilai ini ke nama indeks yang menerima dokumen. Anda hanya dapat memposting dokumen ke satu indeks dalam satu waktu.
versi-api Wajib diisi. Versi pratinjau saat ini adalah 2023-07-23-Preview. Lihat Versi API untuk versi lainnya.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Bidang Deskripsi
Jenis-Konten Wajib diisi. Atur nilai ini ke application/json
api-key Opsional jika Anda menggunakan peran Azure dan token pembawa disediakan berdasarkan permintaan, jika tidak, kunci diperlukan. Kunci api adalah string unik yang dihasilkan sistem yang mengautentikasi permintaan ke layanan pencarian Anda. Mengunggah dokumen memerlukan kunci API admin. Lihat Menyambungkan ke Azure AI Search menggunakan autentikasi kunci untuk detailnya.

Isi Permintaan

Isi permintaan berisi satu atau beberapa dokumen yang akan diindeks. Dokumen diidentifikasi secara unik melalui kunci peka huruf besar/kecil. Setiap dokumen dikaitkan dengan tindakan: "upload", "delete", "merge", atau "mergeOrUpload". Permintaan pengunggahan harus menyertakan data dokumen sebagai sekumpulan pasangan kunci/nilai.

Bidang vektor berjenis Collection(Edm.Single). Data vektor terdiri dari array angka titik mengambang presisi tunggal.

Bidang vektor dapat berisi ribuan penyematan, tergantung pada kompleksitas, panjang, atau jenis konten asli. Azure AI Search tidak mengonversi konten menjadi penyematan. Dokumen yang Anda dorong ke dalam indeks harus berisi penyematan yang telah Anda buat sebelumnya.

{  
  "value": [  
    {  
      "@search.action": "upload (default) | merge | mergeOrUpload | delete",  
      "key_field_name": "unique_key_of_document", (key/value pair for key field from index schema)  
      "field_name": field_value (key/value pairs matching index schema),
      "vector_field_name": [ array of single-precision floating point numbers ]
        ...  
    },  
    ...  
  ]  
}  
Properti Deskripsi
@search.action Wajib diisi. Nilai yang valid adalah "upload", "delete", "merge", atau "mergeOrUpload". Default ke "unggah".
key_field_name Wajib diisi. Definisi bidang dalam indeks yang berfungsi sebagai kunci dokumen dan hanya berisi nilai unik. Kunci dokumen hanya boleh berisi huruf, angka, tanda hubung ("-"), garis bawah ("_"), dan tanda sama dengan ("=") dan peka huruf besar/kecil.
field_name Wajib diisi. Pasangan nama-nilai, di mana nama bidang sesuai dengan nama bidang dalam definisi indeks. Nilai ditentukan pengguna tetapi harus valid untuk jenis bidang.

Respons

Kode status: 200 dikembalikan untuk respons yang berhasil, yang berarti bahwa semua item telah disimpan tahan lama dan pengindeksan telah dimulai. Pengindeksan berjalan di latar belakang dan membuat dokumen baru tersedia (yaitu, dapat dikueri dan dapat dicari) beberapa detik setelah operasi pengindeksan selesai.

Pengindeksan yang berhasil ditunjukkan ketika properti status diatur ke true untuk semua item. Properti statusCode harus 201 (untuk dokumen yang baru diunggah) atau 200 (untuk dokumen yang digabungkan atau dihapus).

Contoh

Contoh: Mengunggah dua dokumen dengan teks dan konten vektor

Untuk keterbacaan, contoh berikut menunjukkan subset dokumen dan penyematan. Isi permintaan Unggah Dokumen terdiri dari 108 dokumen, masing-masing dengan serangkaian penyematan lengkap untuk "titleVector" dan "contentVector".

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/index?api-version={{api-version}}
Content-Type: application/json
api-key: {{admin-api-key}}
{
    "value": [
        {
            "id": "1",
            "title": "Azure App Service",
            "content": "Azure App Service is a fully managed platform for building, deploying, and scaling web apps. You can host web apps, mobile app backends, and RESTful APIs. It supports a variety of programming languages and frameworks, such as .NET, Java, Node.js, Python, and PHP. The service offers built-in auto-scaling and load balancing capabilities. It also provides integration with other Azure services, such as Azure DevOps, GitHub, and Bitbucket.",
            "category": "Web",
            "titleVector": [
                -0.02250031754374504,
                 . . . 
                        ],
            "contentVector": [
                -0.024740582332015038,
                 . . .
            ],
            "@search.action": "upload"
        },
        {
            "id": "2",
            "title": "Azure Functions",
            "content": "Azure Functions is a serverless compute service that enables you to run code on-demand without having to manage infrastructure. It allows you to build and deploy event-driven applications that automatically scale with your workload. Functions support various languages, including C#, F#, Node.js, Python, and Java. It offers a variety of triggers and bindings to integrate with other Azure services and external services. You only pay for the compute time you consume.",
            "category": "Compute",
            "titleVector": [
                -0.020159931853413582,
                . . .
            ],
            "contentVector": [
                -0.02780858241021633,,
                 . . .
            ],
            "@search.action": "upload"
        }
        . . .
    ]
}

Catatan

Saat Anda mengunggah DateTimeOffset nilai dengan informasi zona waktu ke indeks Anda, Azure AI Search menormalkan nilai-nilai ini ke UTC. Misalnya, 2019-01-13T14:03:00-08:00 akan disimpan sebagai 2019-01-13T22:03:00Z. Jika Anda perlu menyimpan informasi zona waktu, tambahkan kolom tambahan ke indeks Anda.

Lihat juga