All Products
Search
Document Center

Lindorm:Indeks pencarian

Last Updated:Jun 04, 2026

Lindorm wide table engine mendukung indeks pencarian (SearchIndex), jenis indeks baru untuk skenario kueri multi-dimensi kompleks, termasuk tokenisasi, kueri fuzzy, analisis agregasi, pengurutan, dan penomoran halaman.

Fitur

Indeks pencarian menggunakan antarmuka SQL yang sama dengan indeks sekunder native. Pernyataan berikut membuat indeks pencarian bernama idx pada kolom c1, c2, c3, dan c4 tabel dt. Urutan kolom tidak berpengaruh. Kolom c3 menggunakan tokenizer IK untuk pencarian teks lengkap.

CREATE INDEX idx USING SEARCH ON dt(c1, c2, c3(type=text, analyzer=ik),c4);
Penting

Pembuatan indeks menghasilkan operasi baca. Jika instans Anda telah mengaktifkan pemisahan data panas dan dingin, perhatikan pembatasan kecepatan pada penyimpanan dingin (penyimpanan cloud tipe kapasitas). Pembacaan penyimpanan dingin yang dibatasi kecepatannya mengurangi efisiensi pembuatan indeks dan dapat menyebabkan tekanan balik saat menulis.

Indeks pencarian mendukung kemampuan berikut:

  • Kueri multi-dimensi: kueri data menggunakan kombinasi apa pun dari kolom yang diindeks.

    SELECT * FROM dt WHERE c1=?;
    SELECT * FROM dt WHERE c2=? AND c4=?;
  • Kueri berbasis tokenisasi: gunakan kueri kesetaraan pada kolom yang ditokenisasi untuk mengambil set hasil yang sangat relevan. Misalnya, kueri c3 untuk catatan yang berisi "Function Introduction", "function", atau "introduction".

    SELECT * FROM dt WHERE MATCH (c3) AGAINST ('Function Introduction');
  • Agregasi: mendukung fungsi COUNT, SUM, MIN, MAX, dan AVG.

  • Pengurutan dan penomoran halaman: mendukung ORDER BY pada kolom yang diindeks apa pun.

Arsitektur

SearchIndex mengintegrasikan wide table engine dengan mesin pencari. Arsitektur ini terdiri dari tiga layanan yang dapat diskalakan secara independen: wide table engine, Lindorm Tunnel Service (LTS), dan mesin pencari. Anda dapat menskalakan setiap layanan secara terpisah serta memilih jenis mesin berbeda untuk setiap layanan. Model penyebaran independen ini meningkatkan stabilitas sistem.

Alur penulisan data:

  1. Data ditulis ke wide table engine. Data mentah dicatat dalam write-ahead log (WAL) dan hasil penulisan dikembalikan ke client.

  2. LTS mendengarkan WAL secara real time, memfilter tabel yang memiliki SearchIndex, lalu menulis data ke mesin pencari.

  3. Mesin pencari membangun indeks terbalik secara real time.

Alur kueri data:

  1. Kueri dikirim ke wide table engine. Lapisan komputasi mengompilasi kueri dan memilih SearchIndex yang sesuai berdasarkan pengoptimal.

  2. Kueri diarahkan ke mesin pencari untuk mengambil data yang cocok.

  3. Hasil diagregasi. Jika diperlukan, data tambahan diambil dari wide table untuk melengkapi set hasil sebelum dikembalikan ke client.

Kasus penggunaan

Indeks pencarian menggabungkan kueri KV berkonkurensi tinggi dan latensi rendah dengan kueri multi-dimensi, kueri berbasis tokenisasi, dan agregasi. Pertimbangkan penggunaan indeks pencarian untuk skenario berikut: