全部产品
Search
文档中心

Tablestore:Buat tabel pemetaan untuk indeks pencarian

更新时间:Jul 02, 2025

Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan untuk tabel atau indeks pencarian yang sudah ada. Saat membuat tabel pemetaan, Anda harus menentukan nama kolom, tipe kolom, dan kunci utama, serta mengonfigurasi mesin yang digunakan saat menggunakan tabel pemetaan untuk menanyakan data. Topik ini menjelaskan cara membuat tabel pemetaan untuk indeks pencarian yang sudah ada.

Catatan

Untuk informasi lebih lanjut tentang cara membuat tabel pemetaan untuk tabel yang sudah ada, lihat Buat Tabel Pemetaan untuk Tabel.

Informasi latar belakang

Saat menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan untuk tabel data, indeks berbagai jenis mungkin dibuat untuk tabel data tersebut. Saat menggunakan tabel pemetaan untuk menanyakan data, mesin SQL secara otomatis memilih kunci utama tabel, indeks sekunder, atau indeks pencarian untuk memenuhi kebutuhan bisnis Anda. Anda dapat menjalankan pernyataan CREATE TABLE dalam SQL untuk membuat tabel pemetaan untuk indeks pencarian tertentu sehingga Anda dapat memilih indeks pencarian tertentu untuk melakukan kueri.

Sintaksis

CREATE TABLE [IF NOT EXISTS] user_defined_name(column_name data_type [,column_name data_type])
ENGINE='searchindex',
ENGINE_ATTRIBUTE='{"index_name": index_name, "table_name": table_name}';

Parameter

Parameter

Diperlukan

Deskripsi

IF NOT EXISTS

Tidak

Menentukan apakah respons sukses dikembalikan. Jika Anda menentukan IF NOT EXISTS, respons sukses akan dikembalikan terlepas dari apakah tabel sudah ada. Sebaliknya, respons sukses hanya dikembalikan jika tabel tidak ada.

user_defined_name

Ya

Nama tabel pemetaan untuk indeks pencarian. Nama ini digunakan untuk mengidentifikasi tabel pemetaan dalam SQL.

Nama ini digunakan untuk operasi SQL.

column_name

Ya

Nama kolom atribut.

Nama kolom di SQL harus setara dengan nama kolom di tabel Tablestore. Misalnya, jika nama kolom di tabel Tablestore adalah Aa, maka nama kolom di SQL harus Aa, AA, aA, atau aa.

data_type

Ya

Tipe data kolom, seperti BIGINT, DOUBLE, atau BOOL.

Tipe data kolom di SQL harus sesuai dengan tipe data kolom di tabel Tablestore. Untuk informasi lebih lanjut tentang pemetaan tipe data, lihat Pemetaan tipe data.

ENGINE

Ya

Mesin eksekusi yang digunakan saat Anda menggunakan tabel pemetaan untuk menanyakan data. Nilai default: tablestore. Nilai valid:

  • tablestore: Mesin SQL secara otomatis memilih indeks yang sesuai untuk melakukan kueri.

  • searchindex: Mesin SQL menggunakan indeks pencarian yang ditentukan untuk melakukan kueri. Jika Anda menetapkan parameter ENGINE ke searchindex, Anda harus mengonfigurasi item index_name dan table_name di parameter ENGINE_ATTRIBUTE.

ENGINE_ATTRIBUTE

Ya

Atribut mesin eksekusi. Nilai parameter ini dalam format JSON dan mencakup item-item berikut:

  • index_name: nama indeks pencarian untuk mana tabel pemetaan dibuat. Anda hanya perlu menentukan item ini saat membuat tabel pemetaan untuk indeks pencarian.

  • table_name: nama tabel data untuk mana indeks pencarian dibuat. Anda hanya perlu menentukan item ini saat membuat tabel pemetaan untuk indeks pencarian.

  • consistency: mode konsistensi yang didukung oleh mesin eksekusi.

    • Nilai valid saat Anda membuat tabel pemetaan untuk tabel:

      • eventual: Hasil kueri berada dalam mode konsistensi akhir. Ini adalah nilai default. Anda dapat menanyakan data beberapa detik setelah data ditulis ke tabel.

      • strong: Hasil kueri berada dalam mode konsistensi kuat. Anda dapat menanyakan data segera setelah data ditulis ke tabel.

    • Saat Anda membuat tabel pemetaan untuk indeks pencarian, nilai consistency adalah eventual dan tidak dapat diubah.

  • allow_inaccurate_aggregation: menentukan apakah kinerja kueri dapat ditingkatkan dengan mengorbankan akurasi operasi agregasi. Tipe: Boolean.

    • Saat Anda membuat tabel pemetaan untuk tabel, nilai default allow_inaccurate_aggregation adalah true, yang menunjukkan bahwa kinerja kueri dapat ditingkatkan dengan mengorbankan akurasi operasi agregasi. Anda dapat menyetel allow_inaccurate_aggregation ke false berdasarkan kebutuhan bisnis Anda.

    • Saat Anda membuat tabel pemetaan untuk indeks pencarian, nilai allow_inaccurate_aggregation adalah true dan tidak dapat diubah.

Contoh

Buat tabel pemetaan bernama search_exampletable1 untuk indeks pencarian exampletable1_index yang dibuat untuk tabel data exampletable1. Tabel pemetaan berisi kolom id, colvalue, dan content. Kolom id bertipe BIGINT, sedangkan kolom colvalue dan content bertipe MEDIUMTEXT.

CREATE TABLE search_exampletable1(id BIGINT, colvalue MEDIUMTEXT, content MEDIUMTEXT) ENGINE='searchindex' ENGINE_ATTRIBUTE='{"index_name": "exampletable1_index", "table_name": "exampletable1"}';

Setelah tabel pemetaan search_exampletable1 dibuat, Anda dapat melakukan operasi berikut:

  • Kueri Informasi Indeks tentang Tabel

    Kueri informasi indeks tentang tabel pemetaan search_exampletable1.

    SHOW INDEX IN search_exampletable1;

    Untuk informasi lebih lanjut tentang cara menanyakan informasi indeks tentang tabel, lihat Kueri Informasi Indeks tentang Tabel.

  • Kueri Data yang Cocok dengan String Tertentu

    Gunakan tabel pemetaan search_exampletable1 untuk menanyakan baris di mana nilai kolom content cocok dengan setidaknya satu token yang diperoleh dengan memecah string "tablestore cool". Tentukan bahwa maksimal 10 baris dikembalikan dan kolom id dan content dikembalikan di setiap baris yang memenuhi kondisi kueri.

    SELECT id,content FROM search_exampletable1 WHERE TEXT_MATCH(content, "tablestore cool") LIMIT 10;

    Untuk informasi lebih lanjut tentang cara menanyakan data yang cocok dengan string tertentu, lihat Kueri Data dan Pencarian Teks Lengkap.

FAQ

Bagaimana cara saya memecahkan masalah kesalahan umum pada kueri SQL?

Referensi