Indeks penelusuran versus indeks sekunder

Halaman ini menjelaskan fitur untuk penelusuran dan indeks sekunder.

Saat memutuskan antara indeks penelusuran dan indeks sekunder, perlu diingat bahwa indeks penelusuran harus menjadi pilihan default untuk kasus penggunaan teks lengkap dan indeks sekunder harus menjadi opsi default untuk hal lainnya. Tabel berikut menjelaskan kapan harus menggunakan setiap jenis indeks.

Fitur Indeks sekunder Indeks penelusuran
Tata urutan Indeks diurutkan berdasarkan semua kolom kunci indeks Indeks penelusuran hanya dapat diurutkan menurut maksimum dua kolom INT64 yang dikontrol pengguna
Array Array tidak didukung sebagai kunci indeks sekunder. Indeks penelusuran mendukung pengindeksan array. Semua token dokumen ditempatkan bersama dalam bagian yang sama. Akibatnya, transaksi yang mengubah 1 baris hanya menulis ke satu bagian indeks.
Lookup Pencarian menurut kunci indeks hanya perlu mengakses satu bagian Kueri yang menggunakan indeks penelusuran umumnya perlu membaca dari semua bagian partisi tertentu. Satu-satunya pengecualian adalah pencocokan pola top-k.
Pengindeksan multi-kolom Indeks sekunder dapat menyertakan beberapa kolom kunci. Kueri perlu mencari data berdasarkan awalan kolom kunci indeks untuk eksekusi yang efisien. Indeks penelusuran dapat mengindeks beberapa kolom. Kueri dapat menentukan ekspresi logika yang kompleks (konjungsi, disjungsi, negasi) pada subset kolom yang diindeks, dan tetap dieksekusi secara efisien
Irisan indeks Pengguna dapat menulis ulang kueri untuk menggabungkan beberapa indeks sekunder. Persimpangan beberapa kolom yang diindeks diterapkan sebagai join zig-zag lokal yang efisien, diikuti dengan penggabungan penggabungan terdistribusi (yang menggabungkan hasil dari semua bagian yang relevan).
Membaca data API Baca atau Kueri SQL Kueri SQL

Selain semantik, sintaksis pernyataan DDL untuk membuat indeks penelusuran berbeda dengan sintaksis DDL untuk membuat indeks sekunder:

  • Kolom yang diindeks ditentukan secara terpisah dari urutan pengurutan dalam indeks penelusuran.
  • Urutan kolom TOKENLIST dalam klausa ON dari pernyataan CREATE SEARCH INDEX tidak penting.

Langkah selanjutnya