Lindorm menyediakan dua jenis indeks yang efisien dan mudah digunakan: secondary indexes dan search indexes. Indeks-indeks ini cocok untuk berbagai skenario, seperti pencocokan non-primary key, kueri multidimensi, . Anda dapat menggunakan sintaks CREATE INDEX untuk menentukan tipe indeks dan menambahkan properti indeks.
Mesin dan versi
Sintaks CREATE INDEX hanya berlaku untuk LindormTable tanpa batasan versi.
Untuk membuat search index atau columnstore index menggunakan sintaks CREATE INDEX, Anda harus menggunakan Lindorm SQL V2.6.1 atau yang lebih baru. Untuk melihat versi Lindorm SQL, lihat panduan versi SQL.
Catatan penting
Pembuatan indeks untuk secondary indexes, columnstore indexes, dan search indexes memerlukan lookup data, yang menghasilkan operasi baca. Jika Anda telah mengaktifkan fitur Pemisahan data panas dan dingin pada instans Anda, pantau Pembatasan kecepatan pada penyimpanan dingin (penyimpanan cloud yang dioptimalkan). Operasi baca yang dibatasi pada penyimpanan dingin secara langsung memengaruhi efisiensi pembuatan indeks dan dapat menyebabkan tekanan balik pada operasi tulis.
Sintaks
create_index_statement ::= CREATE INDEX [IF NOT EXISTS] [ index_identifier ]
[ USING index_method_definition ]
ON table_identifier '(' index_key_expression ')'
[ INCLUDE include_expression]
[ PARTITION BY partition_definition ]
[ { ASYNC | SYNC} ]
[ WITH '(' index_options ')' ]
index_method_definition ::= { KV | SEARCH | COLUMNAR }
index_key_expression ::= '('
index_key_definition
|wildcard_string_literal
')'
index_key_definition ::= {
column_identifier [ DESC ]
| column_identifier'(' column_options ')'
| function_expression
}
[ (',' index_key_definition)* ]
column_options ::= '('
option_definition (',' option_definition )*
')'
function_expression ::= function_identifier
'('
column_identifer ( ',' column_identifer )*
')'
option_definition ::= option_identifer '=' string_literal
include_expression ::= '('
column_identifier( ',' column_identifier )*
')'
partition_definition ::= {
{RANGE TIME}
'('
column_identifer
')' [ PARTITIONS number_literal ]
|
HASH '('
column_identifer
( ',' column_identifer )*
')' [ PARTITIONS number_literal ]
|
ENUMERABLE
'('
column_identifer
( ',' column_identifer )*
index_options ::= '('
option_definition (',' option_definition )*
')'Perbedaan
LindormTable mendukung dua jenis indeks yang dapat dibuat dengan pernyataan CREATE INDEX: secondary indexes dan search indexes.
Elemen sintaks yang didukung bervariasi tergantung pada tipe indeks. Tabel berikut menjelaskan perbedaannya.
Elemen sintaks | Secondary index | Search index |
✔ | 0 | |
✔ | 0 | |
0 | ✖ | |
✖ | 0 | |
Mode pembuatan indeks (ASYNC|SYNC) Penting Hanya LindormTable 2.6.3 dan yang lebih baru yang mendukung mode pembuatan | 0 | 0 |
0 | 0 |
Catatan penggunaan
Anda dapat membuat maksimal 3 secondary indexes, 1 search index, untuk setiap tabel lebar.
Tipe indeks (index_method_definition)
Saat membuat indeks, Anda dapat menggunakan kata kunci USING untuk menentukan tipe indeks. LindormTable mendukung tiga tipe indeks berikut:
Parameter | Tipe indeks | Deskripsi |
KV | Secondary index | Jika Anda tidak secara eksplisit menentukan tipe indeks dalam pernyataan Penting Sebuah instans dapat memiliki maksimal delapan tugas pembuatan secondary index secara bersamaan. Jika Anda mencoba membuat secondary index saat delapan tugas sedang berjalan, pernyataan tersebut akan gagal. |
SEARCH | Search index | Indeks pencarian teks lengkap berbasis mesin pencari. Terutama digunakan untuk skenario kueri multidimensi kompleks, seperti tokenisasi, kueri fuzzy, agregasi dan analisis, serta pengurutan dengan paginasi. Untuk informasi selengkapnya, lihat Pengantar search indexes. Search indexes mendukung semua tipe data dasar kecuali DATE, TIME, dan DECIMAL. Untuk informasi selengkapnya tentang tipe data, lihat Tipe data dasar. Penting
|
Ekspresi kunci indeks (index_key_expression)
Anda dapat menentukan satu atau beberapa kolom sebagai kunci indeks. Indeks dengan beberapa kunci indeks disebut indeks komposit.
Definisi kunci indeks (index_key_definition)
Jika tipe indeks adalah search index, Anda dapat menambahkan properti pada kunci indeks. Jika tipe indeks adalah secondary index, Anda dapat menentukan ekspresi fungsi sebagai kunci indeks.
Properti kunci indeks pencarian (option_definition)
Saat menambahkan kolom indeks menggunakan pernyataan ALTER INDEX, Anda juga dapat menentukan properti untuk kunci indeks. Misalnya, c3(type=text,analyzer=ik) membuat indeks pada kolom c3 dan menentukan bahwa pemisah kata ik digunakan untuk kolom ini.
Tabel berikut menjelaskan properti kunci indeks yang didukung oleh search indexes.
Properti kunci indeks | Tipe | Deskripsi |
indexed | STRING | Menentukan apakah akan membuat indeks untuk kolom yang ditentukan dalam kunci indeks. Indeks terbalik dibuat untuk kolom bertipe string. Indeks numerik, seperti indeks BKD-Tree, dibuat untuk bidang bertipe numerik.
|
rowStored | STRING | Menentukan apakah akan menyimpan data mentah.
|
columnStored | STRING | Menentukan apakah akan menggunakan penyimpanan kolom untuk mempercepat pengurutan dan analisis.
|
type | STRING | Untuk skenario tokenisasi, atur parameter type ke text untuk bidang yang ditokenisasi. Dalam kasus lain, tipe data sama dengan tipe data tabel lebar secara default. Penting Parameter type harus digunakan bersama parameter analyzer. |
analyzer | STRING | Menentukan daftar pemisah kata. Nilai yang valid:
Penting Parameter analyzer harus digunakan bersama parameter type. |
mapping | STRING | Properti kunci indeks kustom, direpresentasikan sebagai objek JSON dalam string. Ini kompatibel dengan sintaks properti kunci indeks Elasticsearch. Penting
|
Ekspresi fungsi secondary index (function_expression)
Saat membuat secondary index, Anda dapat menentukan ekspresi fungsi sebagai kunci indeks. Lima ekspresi fungsi didukung: Z-ORDER, S2, CAST, MD5, dan SHA256.
PentingHanya LindormTable 2.6.7.5 dan yang lebih baru yang mendukung penggunaan ekspresi fungsi MD5 atau SHA256 sebagai kunci indeks. Jika Anda tidak dapat melakukan upgrade mesin LindormTable di Konsol, hubungi dukungan teknis Lindorm di DingTalk di s0s3eg3.
Fungsi Z-ORDER: Membuat secondary index spatio-temporal untuk satu atau beberapa kolom bertipe data spatio-temporal. Sintaksnya sebagai berikut:
Z-ORDER '(' column_identifier ( ',' column_identifer )* ')'Tipe data column_identifier harus merupakan tipe data spatio-temporal. Untuk informasi selengkapnya tentang indeks spatio-temporal, lihat Indeks spatio-temporal.
Fungsi CAST: Membuat indeks pada hasil konversi tipe data untuk suatu kolom. Sintaksnya sebagai berikut:
CAST(column_identifier AS type)type adalah tipe data. Untuk informasi selengkapnya, lihat Tipe data dasar.
Fungsi S2: Membuat secondary index grid S2 untuk kolom bertipe data spatio-temporal. Sintaksnya sebagai berikut:
S2 '(' column_identifier, level ')'Tipe data column_identifier harus POLYGON atau MULTIPOLYGON. Nilai level berkisar antara 1 hingga 30. Untuk informasi selengkapnya, lihat Fungsi indeks S2.
Fungsi MD5: Membuat indeks pada nilai terenkripsi MD5 dari kolom VARCHAR. Sintaksnya sebagai berikut:
MD5(column_identifier)Untuk informasi selengkapnya tentang fungsi MD5, lihat Fungsi MD5.
Fungsi SHA256: Membuat indeks pada nilai terenkripsi SHA256 dari kolom VARCHAR. Sintaksnya sebagai berikut:
SHA256(column_identifier)Untuk informasi selengkapnya tentang fungsi SHA256, lihat Fungsi SHA256.
Konstanta wildcard (wildcard_string_literal)
Hanya search indexes yang mendukung konstanta wildcard (*).
Konstanta wildcard (*) digunakan untuk membuat indeks pada semua kolom. Misalnya, CREATE INDEX IF NOT EXISTS idx5 USING SEARCH ON test(*).
Setelah pernyataan dieksekusi, kolom yang baru ditambahkan tidak secara otomatis ditambahkan ke search index atau columnstore index. Anda harus menambahkannya secara manual menggunakan pernyataan
ALTER INDEX.Kolom dinamis tidak termasuk dalam indeks. Untuk informasi selengkapnya, lihat Kolom dinamis.
Kolom yang disertakan (include_expression)
Kolom yang disertakan, juga dikenal sebagai indeks cakupan, adalah kolom dari tabel utama yang disertakan dalam tabel indeks. Fitur ini menghindari kebutuhan untuk melakukan lookup ke tabel utama setelah kueri mengenai indeks, sehingga meningkatkan performa kueri.
Untuk secondary indexes, Anda dapat menggunakan kata kunci WITH untuk menambahkan properti tabel guna menyertakan kolom dinamis. Untuk informasi selengkapnya, lihat Secondary indexes.
Partisi indeks (partition_definition)
Hanya search indexes yang mendukung partisi indeks.
Partisi indeks adalah kebijakan manajemen indeks. Server secara otomatis membagi dan menyimpan data. Saat Anda melakukan kueri data, sistem secara otomatis melakukan Pemangkasan partisi.
Search indexes mendukung partisi RANGE dan partisi HASH. Untuk informasi selengkapnya, lihat Indeks terpartisi.
Mode pembuatan indeks (ASYNC|SYNC)
Saat menggunakan pernyataan CREATE INDEX untuk membuat indeks, Anda dapat menentukan mode pembuatan indeks menggunakan kata kunci ASYNC atau SYNC.
ASYNC: Membuat indeks secara asinkron. Setelah pernyataan
CREATE INDEXdieksekusi, tugas pembuatan indeks dimulai, dan pernyataan langsung mengembalikan hasil, terlepas dari apakah indeks berhasil dibuat atau tidak.SYNC: Membuat indeks secara sinkron. Setelah pernyataan
CREATE INDEXdieksekusi, tugas pembuatan indeks segera dimulai. PernyataanCREATE INDEXhanya mengembalikan hasil setelah tugas pembuatan indeks selesai.
Tabel berikut menjelaskan mode pembuatan yang didukung oleh dua tipe indeks.
Mode pembuatan indeks | Secondary index | Search index |
ASYNC Penting Mulai dari LindormTable 2.6.1, mode pembuatan indeks default untuk pernyataan | 0 | 0 |
SYNC Penting Hanya LindormTable 2.6.3 dan yang lebih baru yang mendukung pembuatan indeks sinkron. | 0 | ✔ |
Properti indeks (index_options)
Saat membuat indeks menggunakan pernyataan CREATE INDEX, Anda dapat menggunakan kata kunci WITH untuk menentukan properti indeks. Properti indeks berikut didukung.
Secondary index
Properti | Tipe | Deskripsi |
COMPRESSION | STRING | Algoritma kompresi untuk tabel indeks. Algoritma yang didukung meliputi:
|
INDEX_COVERED_TYPE | STRING | Nilai berikut tersedia untuk metode redundansi indeks:
Anda juga dapat menggunakan kata kunci |
STARTKEY | STRING | Kunci awal tabel indeks. Penting Anda tidak dapat mengatur kunci awal untuk kolom timestamp atau kolom bertipe data spasial. |
ENDKEY | STRING | Kunci akhir tabel indeks. Penting Anda tidak dapat mengatur kunci akhir untuk kolom timestamp atau kolom bertipe data spasial. |
NUMREGIONS | INTEGER | Jumlah pra-partisi untuk tabel indeks. Penting Anda tidak dapat mengatur jumlah pra-partisi untuk kolom timestamp atau kolom bertipe data spasial. |
Search index
Properti | Tipe | Deskripsi |
indexState | STRING | Status search index. Nilai yang valid:
|
numShards | INTEGER | Menentukan jumlah shard. Nilai default adalah dua kali jumlah node pencarian. Penting Volume data untuk satu shard disarankan antara 30 juta hingga 100 juta baris. Ukuran penyimpanan disarankan antara 30 GB hingga 50 GB. Jika volume data shard sangat besar, performa baca-tulis search index dapat menurun. Selain itu, kapasitas data satu shard terbatas. Melebihi 2 miliar baris memengaruhi stabilitas sistem. Oleh karena itu, rencanakan jumlah shard indeks sebelum membuat search index untuk produksi. Jika data Anda berisi bidang atribut waktu dan volumenya meningkat signifikan seiring waktu (seperti data pesanan atau log), kami sarankan untuk membuat indeks terpartisi berdasarkan waktu. |
RANGE_TIME_PARTITION_START | INTEGER | Jumlah hari sebelum operasi pembuatan indeks untuk mulai membuat partisi. Ini berlaku untuk skenario dengan data historis. Jika timestamp data historis lebih awal dari waktu mulai partisi, terjadi error. Catatan Parameter ini wajib ditentukan saat membuat indeks terpartisi. |
RANGE_TIME_PARTITION_INTERVAL | INTEGER | Interval dalam hari untuk membuat partisi baru. Misalnya, Catatan Parameter ini wajib ditentukan saat membuat indeks terpartisi. |
RANGE_TIME_PARTITION_TTL | INTEGER | Jumlah hari untuk menyimpan data partisi. Misalnya, Catatan Parameter ini wajib ditentukan saat membuat indeks terpartisi. |
RANGE_TIME_PARTITION_MAX_OVERLAP | INTEGER | Jika data yang ditulis memiliki timestamp masa depan, parameter ini menentukan interval waktu maksimum yang diizinkan dari waktu saat ini, dalam hari. Jika tidak ditentukan, data dari satu hari di masa depan diizinkan secara default. |
RANGE_TIME_PARTITION_FIELD_TIMEUNIT | LONG | Unit bidang partisi waktu yang ditentukan oleh bisnis. Unit default adalah milidetik (ms).
|
RANGE_TIME_PARTITION_CHS | INTEGER | Batas pemisahan data panas dan dingin. Menentukan usia data yang akan dipindahkan ke penyimpanan dingin. Unit default adalah detik (s). Misalnya, Catatan Jika parameter ini tidak diatur, pemisahan data panas dan dingin tidak diaktifkan. Data hanya disimpan di penyimpanan panas secara default. |
INDEX_SETTINGS | STRING | Properti indeks kustom, direpresentasikan sebagai objek JSON dalam string. Ini kompatibel dengan sintaks pengaturan indeks Elasticsearch. Penting Parameter INDEX_SETTINGS hanya berlaku untuk versi yang kompatibel dengan Elasticsearch. |
SOURCE_SETTINGS | STRING | Properti untuk kebijakan penyimpanan data mentah kolom search index. Ini adalah objek JSON dalam string dan kompatibel dengan sintaks pengaturan _source Elasticsearch. Secara default, search index tidak menyimpan data mentah kolom indeks. Parameter berikut didukung:
Penting Parameter
Catatan Konfigurasikan parameter SOURCE_SETTINGS hanya jika Anda perlu melakukan kueri data melalui antarmuka pengguna visualisasi mesin pencari. Anda tidak perlu mengonfigurasi parameter ini untuk kasus penggunaan biasa. |
Contoh
Asumsikan tabel utama `test` dibuat menggunakan pernyataan berikut:
CREATE TABLE test (
p1 VARCHAR NOT NULL,
p2 INTEGER NOT NULL,
c1 BIGINT,
c2 DOUBLE,
c3 VARCHAR,
c4 TIMESTAMP,
c5 GEOMETRY(POINT),
PRIMARY KEY(p1, p2)
) WITH (CONSISTENCY = 'strong', MUTABILITY='MUTABLE_LATEST');Secondary index
Membuat indeks secara asinkron
Jika Anda tidak menentukan mode pembuatan, indeks dibuat secara asinkron secara default.
CREATE INDEX idx1 ON test(c1 desc) include(c3,c4) WITH (COMPRESSION='ZSTD');Verifikasi Hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Membuat indeks komposit
Buat indeks komposit pada kolom c1, c2, dan c3 secara sinkron.
CREATE INDEX idx1 ON test(c1, c2, c3) include(c4) SYNC WITH ( COMPRESSION ='ZSTD');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Membuat secondary index spatio-temporal
Contoh berikut menunjukkan cara membuat secondary index spatio-temporal. Untuk informasi selengkapnya, lihat Indeks spatio-temporal.
CREATE INDEX idx ON roads (Z-ORDER(g1));
CREATE INDEX idt ON roads (Z-ORDER(g1,t));Menyertakan semua kolom
CREATE INDEX idx1 ON test(c4 desc) WITH (INDEX_COVERED_TYPE ='COVERED_ALL_COLUMNS_IN_SCHEMA');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Menyertakan semua kolom dinamis
CREATE INDEX idx1 ON test(c4 desc) WITH (INDEX_COVERED_TYPE='COVERED_DYNAMIC_COLUMNS');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Mengatur jumlah pra-partisi untuk tabel indeks
Atur jumlah pra-partisi untuk tabel indeks menjadi 32.
CREATE INDEX idx1 ON test(c4 desc) include(c5,c6) WITH (NUMREGIONS ='32');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Menentukan kunci awal dan akhir untuk tabel indeks
Saat membuat secondary index, Anda dapat menentukan kunci awal dan akhir serta jumlah pra-partisi untuk tabel indeks. Ini membagi tabel indeks menjadi 32 pra-partisi antara 11111111 dan 9999999.
CREATE INDEX idx1 ON test(c3 desc) include(c5,c6) WITH (NUMREGIONS ='32', STARTKEY ='11111111', ENDKEY = '9999999');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Buat secondary index Z-ORDER
Buat secondary index Z-ORDER untuk kolom bertipe data polygon c5.
CREATE INDEX idx1 ON test(Z-ORDER(c5));Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Membuat indeks sekunder grid
Buat secondary index grid untuk kolom bertipe polygon c5. Saat ini, hanya mode pembuatan asinkron yang didukung.
CREATE INDEX idx1 ON test(S2(c5, 10));Bangun secondary index grid.
BUILD INDEX s2_idx ON test;
Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Mengonversi tipe data kolom tertentu
Konversi tipe data kolom c3 ke INTEGER lalu buat secondary index.
CREATE INDEX idx1 ON test(CAST(c3 AS INTEGER));Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Search index
Membuat indeks secara asinkron
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(p1, p2, c1, c2, c3);Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Anda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Buat indeks untuk semua kolom
Buat search index untuk semua kolom. Jika tidak ada properti kolom spesifik yang ditentukan, nilai default akan digunakan.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test('*');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Anda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Tambahkan properti kunci indeks
Tambahkan properti kunci indeks non-kustom
Buat search index untuk semua kolom. Jika indeks mencakup kolom c3, atur propertinya menjadi type=text, analyzer=ik, dan indexed=true.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test('*',c3(type=text,analyzer=ik,indexed=true));Verifikasi hasil
Jalankan
SHOW INDEX FROM testuntuk memeriksa apakah indeks telah dibuat.CatatanAnda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Tambahkan properti kunci indeks kustom
Asumsikan skema tabel sebagai berikut:
CREATE TABLE test ( p1 VARCHAR NOT NULL, p2 INTEGER NOT NULL, c1 BIGINT, c2 DOUBLE, c3 VARCHAR, c4 TIMESTAMP, PRIMARY KEY(p1, p2) ) WITH (CONSISTENCY = 'strong', MUTABILITY='MUTABLE_LATEST');Buat search index untuk semua kolom, dengan kolom indeks c3 ditentukan sebagai tipe text dan pemisah kata ik_max_word.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test('*',c3(mapping='{ "type": "text", "analyzer": "ik_max_word" }'));PentingParameter mapping hanya berlaku untuk versi yang kompatibel dengan Elasticsearch.
Jika parameter mapping digunakan, semua parameter lain untuk kunci indeks ini menjadi tidak berlaku.
Verifikasi hasil
Jalankan
SHOW INDEX FROM testuntuk memeriksa apakah indeks telah dibuat.CatatanAnda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Atur status indeks
Tentukan kolom dan beberapa properti kolom, serta atur status search index menjadi ACTIVE.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(c1, c3(type=text,analyzer=ik)) WITH (indexState=ACTIVE,numShards=4);Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Anda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Atur properti indeks kustom
Buat search index, atur status search index menjadi ACTIVE, dan gunakan pengaturan kustom untuk menentukan metode kompresi indeks sebagai ZSTD dan interval refresh 10 detik.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(c1, c3(type=text,analyzer=ik)) WITH (indexState=ACTIVE,INDEX_SETTINGS='{
"index": {
"codec": "zstd",
"refresh_interval": "10s"
}
}');Verifikasi hasil
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Anda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Atur partisi berdasarkan waktu
Buat partisi berdasarkan kolom waktu c4, mulai dari 30 hari yang lalu, dengan partisi otomatis setiap 7 hari. Secara default, data partisi selama 90 hari disimpan.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test (c1, c2, c3, c4)
PARTITION BY RANGE TIME(c4) PARTITIONS 16
WITH (indexState=ACTIVE, RANGE_TIME_PARTITION_START='30', RANGE_TIME_PARTITION_INTERVAL='7', RANGE_TIME_PARTITION_TTL='90', RANGE_TIME_PARTITION_MAX_OVERLAP='90');Verifikasi
Jalankan SHOW INDEX FROM test untuk memeriksa apakah indeks telah dibuat.
Anda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Atur penyimpanan data mentah
Search indexes hanya digunakan untuk penyaringan data dan secara default tidak menyimpan data mentah kolom indeks. Untuk mengakses mesin pencari secara langsung saat menggunakan search index, Anda dapat mengatur indeks agar menyimpan semua atau sebagian data mentah kolom indeks.
Atur penyimpanan data mentah semua kolom indeks
Buat search index yang mencakup kolom
c1,c2,c3, danc4, serta simpan data mentah kolomc1,c2,c3, danc4.CREATE INDEX idx2 USING SEARCH ON test(c1, c2, c3, c4) WITH (SOURCE_SETTINGS=' { "enabled": true } ');Verifikasi hasil
Jalankan
SHOW INDEX FROM testuntuk memeriksa apakah indeks telah dibuat.CatatanAnda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.
Atur penyimpanan data mentah sebagian kolom indeks
Buat search index yang mencakup kolom
c1,c2,c3, danc4, serta simpan data mentah kolomc2,c3, danc4.CREATE INDEX idx2 USING SEARCH ON test(c1, c2, c3, c4) WITH (SOURCE_SETTINGS=' { "includes": ["c*"], "excludes": ["c1"] } ');Verifikasi hasil
Jalankan
SHOW INDEX FROM testuntuk memeriksa apakah indeks telah dibuat.CatatanAnda juga dapat melihat progres pembuatan indeks di Konsol Lindorm. Untuk informasi selengkapnya, lihat Lihat progres build penuh search index.