FT.CREATE

FT.CREATE membuat indeks yang dapat ditelusuri.

Sintaksis

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (wajib diisi): Ini adalah nama yang Anda berikan ke indeks. Jika indeks dengan nama yang sama sudah ada, error akan ditampilkan.

  • ON HASH (opsional): Ini menunjukkan jenis data HASH. Hanya jenis data HASH yang didukung.

  • PREFIX [count] [prefix] (opsional): Kode ini menunjukkan kunci hash yang akan diindeks.

  • SCHEMA hash_field_name (wajib diisi): Hash_field_name setelah SCHEMA mengidentifikasi nama kolom dalam hash. [AS alias] VECTOR menetapkan nama VECTOR sebagai alias untuk atribut nama kolom.

Jenis kolom

  • VECTOR (wajib): Bidang vektor untuk penelusuran vektor:

    • [HNSW|FLAT] (wajib): Algoritma khusus. FLAT (brute force) atau HNSW (Hierarchical Navigable Small World).

    • attribute_count (wajib): Total jumlah atribut nama dan nilai yang diteruskan dalam konfigurasi algoritma.

    • attribute_name attribute_value: Key-value pair yang menentukan konfigurasi indeks, tetapi dikhususkan untuk salah satu dari dua algoritma yang tersedia.

      • Atribut algoritma HNSW yang diperlukan:

        • DIM (wajib): Dimensi vektor dihitung. Nilai yang diterima adalah 1-32768.

        • TYPE (wajib): Jenis vektor. Hanya mendukung FLOAT32.

        • DISTANCE_METRIC (wajib diisi): Harus salah satu dari yang berikut - L2, IP, atau COSINE.

      • Atribut algoritma HNSW opsional:

        • EF_RUNTIME (opsional): Menetapkan jumlah vektor yang akan diperiksa selama operasi kueri. Defaultnya adalah 10, dan jumlah maksimumnya adalah 4096. Anda dapat menetapkan nilai parameter ini untuk setiap kueri yang dijalankan. Nilai yang lebih tinggi meningkatkan waktu kueri, tetapi meningkatkan ingatan kueri.

        • M (opsional): Jumlah tepi keluar maksimum yang diizinkan untuk setiap node dalam grafik di setiap lapisan. Jumlah maksimum edge keluar adalah 2 juta untuk lapisan 0. Defaultnya adalah 16. Jumlah maksimumnya adalah 512.

        • EF_CONSTRUCTION (opsional): Menetapkan jumlah untuk vektor yang akan diperiksa selama konstruksi indeks. Defaultnya adalah 200, dan jumlah maksimumnya adalah 4096. Nilai yang lebih tinggi menambah waktu yang diperlukan untuk membuat indeks, tetapi meningkatkan rasio perolehan.

        • INITIAL_CAP (opsional): Menentukan kapasitas vektor awal indeks. Defaultnya adalah 1024. Parameter ini menentukan alokasi memori indeks.

      • Atribut algoritma FLAT yang diperlukan:

        • DIM (wajib): Dimensi vektor dihitung.

        • TYPE (wajib): Jenis vektor. Hanya mendukung FLOAT32.

        • DISTANCE_METRIC (wajib diisi): Harus salah satu dari yang berikut - L2, IP, atau COSINE.

      • Atribut algoritma FLAT opsional:

        • INITIAL_CAP (opsional): Menentukan kapasitas vektor awal indeks. Parameter ini menentukan alokasi memori indeks.

Contoh

Contoh HNSW:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100

Contoh FLAT:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000