Buka konsol

Mengelola indeks di Cloud Firestore

Cloud Firestore memastikan performa kueri dengan mewajibkan indeks untuk setiap kueri. Indeks yang diperlukan untuk kueri paling dasar dibuat otomatis untuk Anda. Saat Anda menggunakan dan menguji aplikasi, Cloud Firestore membuat pesan error yang membantu Anda membuat indeks tambahan yang dibutuhkan aplikasi. Halaman ini menjelaskan cara mengelola indeks kolom tunggal dan gabungan.

Membuat indeks yang hilang melalui pesan error

Jika Anda mencoba kueri gabungan dengan klausa rentang yang tidak memetakan ke indeks yang ada, Anda akan menerima error. Pesan error menyertakan link langsung untuk membuat indeks yang tidak ada di Firebase console.

Ikuti link yang dihasilkan untuk menuju ke Firebase console, tinjau info yang terisi secara otomatis, dan klik Buat.

Menggunakan Firebase console

Untuk membuat indeks baru secara manual dari Firebase console:

gambar antarmuka pengindeksan firestore di firebase console

  1. Buka bagian Database di Firebase console.
  2. Buka tab Indeks dan klik Tambahkan Indeks.
  3. Masukkan nama koleksi dan tetapkan kolom yang ingin Anda urutkan indeksnya.
  4. Klik Buat.

Pembuatan indeks membutuhkan waktu beberapa menit, tergantung pada ukuran kueri. Setelah membuatnya, Anda dapat melihat indeks dan statusnya di bagian Indeks Komposit. Jika indeks masih dibuat, Firebase console akan menyertakan status bar pembuatan.

Menghapus indeks

Untuk menghapus indeks:

  1. Buka bagian Database di Firebase console.
  2. Klik tab Indeks.
  3. Arahkan kursor ke indeks yang ingin Anda hapus dan pilih Hapus dari menu konteks.
  4. Konfirmasi bahwa Anda ingin menghapusnya dengan mengklik Hapus dari pemberitahuan.

Menggunakan Firebase CLI

Anda juga bisa menerapkan indeks dengan Firebase CLI. Untuk memulai, jalankan firebase init firestore di direktori project Anda. Selama penyiapan, Firebase CLI menghasilkan file JSON dengan indeks default dalam format yang tepat. Edit file untuk menambahkan lebih banyak indeks dan menerapkannya dengan perintah firebase deploy. Jika Anda hanya ingin menerapkan indeks, tambahkan tanda --only firestore:indexes. Jika Anda mengedit indeks menggunakan Firebase console, pastikan Anda juga untuk mengupdate file indeks lokal.

Waktu build indeks

Pembuatan indeks membutuhkan waktu beberapa menit, tergantung pada seberapa banyak data yang perlu diperbarui. Semakin banyak dokumen yang cocok dengan kolom yang diindeks, semakin lama pembuatannya. Selain itu, untuk setiap ID koleksi unik, Anda hanya dapat memiliki satu proses pembuatan indeks. Beberapa indeks dibuat di atas ID koleksi yang sama lengkap secara berurutan.

Error dalam membuat indeks

Anda mungkin mengalami error membuat indeks saat mengelola indeks gabungan dan pengecualian indeks satu kolom. Operasi pengindeksan dapat gagal jika Cloud Firestore menemukan masalah dengan data yang diindeks. Paling umum, ini berarti Anda mencapai batas indeks. Misalnya, operasi mungkin telah mencapai jumlah entri indeks maksimum per dokumen.

Jika pembuatan indeks gagal, Anda melihat pesan error di konsol. Setelah memverifikasi bahwa Anda tidak mencapai batas indeks, coba lagi operasi indeks.