1. Partisi mana yang berlaku jika tidak ada partisi yang ditentukan untuk operasi pada dokumen?
Saat sebuah koleksi dibuat, partisi bernama default dibuat secara otomatis dan tidak dapat dihapus. Jika tidak ada partisi yang ditentukan untuk suatu operasi dokumen, maka partisi default akan digunakan. Sebagai contoh, jika tidak ada partisi yang didefinisikan dalam pencarian dokumen, hanya dokumen dalam partisi default yang akan dicari.
2. Apa perbedaan antara menyisipkan dokumen, memperbarui dokumen, dan upsert dokumen?
Menyisipkan dokumen: Jika ID dokumen sudah ada, dokumen tersebut tidak akan ditimpa, dan operasi penyisipan dianggap tidak valid.
Memperbarui dokumen: Operasi ini menimpa dokumen yang ada. Jika ID dokumen tidak ditemukan, operasi pembaruan dianggap tidak valid.
Upsert dokumen: Jika ID dokumen sudah ada, operasi pembaruan dilakukan. Jika ID tidak ditemukan, operasi penyisipan dilakukan.
3. Bagaimana cara menghapus isi sebuah koleksi?
Anda tidak dapat menghapus isi koleksi secara langsung. Namun, Anda dapat menghapus koleksi lalu membuat koleksi baru.
4. Bagaimana cara mengaktifkan mode asinkron untuk operasi pada dokumen?
Untuk mengaktifkan mode asinkron, atur parameter async_req ke True. Mode ini berlaku untuk operasi seperti menyisipkan dokumen, memperbarui dokumen, upsert dokumen, mencari dokumen, menghapus dokumen, dan mendapatkan dokumen. Contoh kode berikut memberikan ilustrasi.
# Lakukan 1.000 penulisan asinkron, dan atur dimensi menjadi 20000 serta ukuran-batch menjadi 8.
batch_size = 8
loop = 1000
start = time.time()
async_results = [
collection.insert(
[(j + i * batch_size, np.random.rand(20000)) for j in range(batch_size)],
async_req=True
) for i in range(loop)
]
# Tunggu hingga semua operasi penulisan selesai.
print([async_result.get() for async_result in async_results])
print(f"async insert {loop} kali dengan ukuran-batch = {batch_size}, biaya = {time.time() - start}")
# Output:
# async insert 1000 kali dengan ukuran-batch = 8, biaya = 31.13356590270996
# Penulisan sinkron (kode dihilangkan).
# sync insert 1000 kali dengan ukuran-batch = 8, biaya = 408.63447427749634Operasi asinkron cenderung membutuhkan lebih banyak kuota daripada yang ditentukan dalam Batasan. Jika Anda memerlukan kuota tambahan, ajukan permohonan.
5. Di mana ID dokumen harus unik? Dalam sebuah koleksi atau partisi?
ID dokumen harus unik dalam sebuah partisi. Koleksi dapat berisi beberapa partisi yang mungkin memiliki dokumen dengan ID yang sama.
6. Mengapa vektor mengalami kehilangan presisi setelah disisipkan?
DashVector mendukung tipe data floating-point presisi tunggal (FP32 atau float32). Tabel berikut menjelaskan rentang presisinya.

Jika presisi vektor yang disisipkan melebihi batas atas, vektor tersebut secara otomatis dibulatkan ke nilai terdekat dalam rentang presisi FP32, sehingga menyebabkan kehilangan presisi.