1. Apa yang terjadi selama operasi Doc jika parameter Partition tidak ditentukan?
Setiap Collection memiliki partisi default yang tidak dapat dihapus dan dibuat secara otomatis. Operasi Doc tanpa partisi yang ditentukan menggunakan partisi default. Misalnya, mengambil Doc tanpa menentukan partisi hanya akan mencari di partisi default, bukan di partisi lainnya.
2. Insert Doc, Update Doc, dan Insert or Update Doc: Apa perbedaannya?
-
Insert Doc: Gagal jika ID Doc sudah ada. Doc yang sudah ada tidak ditimpa.
-
Update Doc: Menimpa Doc yang sudah ada. Gagal jika ID Doc tidak ada.
-
Insert or Update Doc: Memperbarui Doc jika ID-nya sudah ada; menyisipkan Doc baru jika belum ada.
3. Bagaimana cara mengosongkan koleksi?
Anda tidak dapat mengosongkan Collection secara langsung. Sebagai gantinya, hapus Collection tersebut dan buat Collection baru.
4. Bagaimana cara menggunakan fitur asinkron untuk operasi Doc?
Insert Doc, Update Doc, Insert or Update Doc, Retrieve Doc, Delete Doc, dan Get Doc semuanya mendukung eksekusi asinkron. Atur async_req=True:
# Menulis secara asinkron sebanyak 1.000 kali. Dimensi = 20000, ukuran batch = 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 tulis selesai.
print([async_result.get() for async_result in async_results])
print(f"async insert {loop} times with batch-size = {batch_size}, cost = {time.time() - start}")
# output:
# async insert 1000 times with batch-size = 8, cost = 31.13356590270996
# Sebagai perbandingan, penulisan sinkron (kode dihilangkan)
# sync insert 1000 times with batch-size = 8, cost = 408.63447427749634
Operasi asinkron dapat memicu batasan yang dijelaskan dalam Constraints and Limitations. Tangani situasi ini dengan tepat.
5. Apakah ID Doc bersifat unik di tingkat koleksi atau tingkat partisi?
ID Doc bersifat unik di tingkat partisi. Partisi berbeda dalam satu koleksi yang sama dapat memiliki Doc dengan ID yang sama.
6. Mengapa terjadi kehilangan presisi pada data vektor yang dimasukkan?
DashVector menyimpan vektor sebagai floating-point presisi tunggal (FP32/float32). Rentang presisinya adalah:

Data masukan di luar rentang ini dibulatkan ke nilai FP32 terdekat, sehingga menyebabkan kehilangan presisi.
7. Dapatkah Anda menentukan beberapa Partisi saat mengambil Doc?
Tidak. Setiap panggilan Retrieve Doc hanya menerima satu partisi. Untuk mengkueri beberapa partisi, panggil operasi tersebut beberapa kali.
8. Perintah `pip install dashvector` sangat lambat. Bagaimana cara mempercepatnya?
Unduhan yang lambat biasanya disebabkan oleh latensi tinggi ke indeks paket default. Gunakan mirror untuk mempercepat instalasi.
Misalnya, untuk menggunakan mirror Alibaba Cloud:
-
Buka terminal (untuk Linux atau macOS) atau Command Prompt/PowerShell (untuk Windows).
-
Gunakan parameter
-iatau--index-urluntuk menentukan mirror.pip3 install dashvector -i https://mirrors.aliyun.com/pypi/simple/
9. Dapatkah saya membuat kluster menggunakan SDK?
Tidak. Kluster hanya dapat dibuat melalui Management Console. Create a cluster.
10. Apakah ada batasan jumlah koleksi yang dapat saya buat di kluster berbayar?
Ya. Kluster berbayar mendukung hingga 32 koleksi. Batas partisi bergantung pada spesifikasi kluster dan tidak bergantung pada jumlah koleksi. Constraints and Limits.
11. Apakah kondisi filter mendukung pencarian teks fuzzy saat mengambil Doc?
Tidak. Di AISearch, filter hanya mendukung pencocokan awalan (prefix matching) pada teks. Filtered retrieval.
12. DashVector mengembalikan error: "Query qps exceeds limit 0 for collection ××××"
Error ini terjadi ketika collectionName yang salah diberikan dalam permintaan pengambilan HTTP pada kluster gratis, atau ketika batas QPS kluster gratis telah terlampaui. Kluster berbayar tidak memiliki batas QPS atau kapasitas keras. Constraints and Limits.
13. Saat saya menggunakan SDK untuk memanggil DashVector, muncul error: DashVectorSDK RPCHandler endpoint({××××}) is invalid and cannot contain protocol header
Endpoint yang diberikan ke klien tidak valid. Pastikan parameter endpoint tidak mengandung {}.