Simpan respons yang akan diperiksa
Mulai dengan GET https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3. q=index adalah pencarian teks, subreddit membatasi komunitas dan limit menentukan jumlah maksimum. Ini bukan contoh dari periode tertentu karena tidak memiliki filter tanggal. Gunakan salah satu header kunci yang didukung pada server. Respons dapat kosong atau kurang dari tiga rekaman; jangan mengisi kekurangan dengan postingan rekaan.
Reddit Extract merupakan arsip historis independen, bukan Reddit resmi atau layanan langsung. Urutan _doc tidak mewakili waktu, relevansi atau skor. Simpan waktu pengambilan, filter dan salinan sumber bila dibutuhkan untuk menjelaskan proses. Salinan lokal adalah masukan pekerjaan Anda, bukan bukti versi arsip tetap. Mengambil kueri yang sama lagi tidak menjamin isi atau urutan identik.
Tulis jalur dari bidang sumber ke kolom tujuan
Buat pemetaan dapat dipahami tanpa menjalankan program. Untuk setiap kolom, tulis bidang sumber yang teramati, jenis yang diterima, tindakan saat tidak tersedia, serta apakah nilainya disalin atau diturunkan. content_source dapat menjadi penanda lokal berisi title atau text; source_page dapat berasal dari log permintaan Anda. Nama tersebut milik keluaran Anda, bukan bidang baru dalam respons API.
Buat daftar bidang sumber yang benar-benar terlihat, lalu pilih kolom tujuan. Untuk tiap kolom, tulis nama asal, nama tujuan, jenis yang diharapkan dan tindakan bila tidak tersedia. Jika id atau kind ada, pertahankan maknanya; jangan mengubah pengenal menjadi angka hitung. Postingan dan komentar tidak perlu mempunyai seluruh kolom sama. Proyeksi hanya memilih bagian rekaman, bukan membuktikan keseluruhan datanya lengkap.
Jelaskan pilihan judul atau teks
q mencari pada title dan text. Jika ada beberapa istilah, semuanya harus cocok bersama di dalam satu bidang yang memenuhi pencarian; membaginya antara kedua bidang tidak cukup. Untuk q=index, periksa setiap bidang sebelum memilih isi. Jika text tidak ada, pertahankan ketiadaan atau gunakan pengganti title yang terdokumentasi dengan penanda sumber. Jangan menyebut pengganti itu isi asli rekaman.
Periksa ketiadaan sebelum mengubah jenis
Pisahkan empat keadaan: bidang tidak ada, nilai null, teks kosong dan angka nol. Pilih representasi tujuan secara sengaja dan simpan aturan tersebut bersama versi transformasi. Bila angka muncul sebagai teks atau format waktu tidak diketahui, jangan menebak konversi. Nilai yang gagal dapat ditahan untuk pemeriksaan. Hindari mengganti semua kegagalan dengan null tanpa catatan karena asal masalah tidak lagi terlihat.
Jelaskan hasil untuk setiap rekaman
Normalisasi huruf, spasi atau waktu merupakan proses lokal yang dapat mengubah makna. Simpan nilai asli bila Anda perlu membandingkan hasil. Bila parent_id dan link_id tersedia, hubungan boleh dikelompokkan secara lokal; langkah ini opsional dan tidak memulihkan rekaman yang tidak diterima. API tidak membangun pohon percakapan lengkap, menjalankan resep pembersihan atau menyediakan ekspor skema target siap pakai.
Tandai secara terpisah apakah permintaan berhasil, berapa rekaman diterima, berapa lolos konversi, dan berapa ditulis ke tujuan. Menolak satu baris karena jenis yang salah tidak membuat biaya permintaan sumber hilang. Setelah aturan diperbaiki, jalankan ulang terhadap salinan lokal bila tersedia. Langkah itu berbeda dari mengambil halaman baru dan tidak membuktikan bahwa sumber server tidak berubah.
Uji masukan sintetis yang diberi label jelas: hanya judul, hanya teks, keduanya, null eksplisit, dan kedua properti tidak ada. Periksa nilai keluaran sekaligus penanda sumbernya. Simpan objek asli tanpa perubahan beserta alasan penolakan. Jika pemetaan menghasilkan paling banyak satu baris per rekaman, jumlah diterima dan ditolak harus menjelaskan rekaman yang diperoleh, bukan menghitung seluruh arsip.
Batasi permintaan baru untuk menguji pemetaan title dan text
Saat melakukan ekstraksi, batas teknis harus diperhatikan dengan ketat. Setiap permintaan maksimal hanya dapat memuat seratus rekaman data, dan iterasi halaman dibatasi hingga seratus halaman per kueri. Penggunaan filter seperti skor minimum bersifat murni sebagai alat penyaringan, bukan sebagai pengurut hasil. Oleh karena itu, urutan dokumen yang ditampilkan dalam hasil arsip mengikuti urutan dokumen internal sistem, bukan berdasarkan kriteria peringkat atau waktu pembuatan secara eksplisit.
Total eq berarti angka tepat, gte batas bawah, sedangkan unknown berarti total tidak diketahui dan bisa null. Jangan menyamakan total dengan baris target atau ukuran seluruh arsip. Pembagian tanggal menggunakan from dan to dalam UTC YYYY-MM-DD; to mencakup seluruh hari akhir. Pembagian tersebut membantu menata pekerjaan, tetapi tidak menjamin semua kecocokan terambil atau meniadakan duplikat.
Satu pengambilan berhasil, termasuk kosong, memakai satu kredit; 1.000 keberhasilan berharga $1. Permintaan tidak valid tidak didebit dan kegagalan hulu mengembalikan cadangan. Waktu tunggu klien habis bisa terjadi setelah keberhasilan server, sehingga pengulangan berhasil berbayar lagi. Tangani 400, 401, 402 dan 429 sesuai penyebabnya. /v1/status gratis, tetapi hanya keterangan statis serta respons HTTP, bukan pengujian pipeline Anda.