KAKI. SEARCH - Amazon MemoryDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

KAKI. SEARCH

Menggunakan ekspresi kueri yang disediakan untuk menemukan kunci dalam indeks. Setelah ditemukan, hitungan dan/atau konten bidang yang diindeks dalam kunci tersebut dapat dikembalikan. Untuk informasi selengkapnya, lihat Ekspresi kueri penelusuran vektor.

Untuk membuat data untuk digunakan dalam contoh ini, lihat FT. CREATEperintah.

Sintaksis

FT.SEARCH <index-name> <query> [RETURN <token_count> (<field-identifier> [AS <alias>])+] [TIMEOUT timeout] [PARAMS <count> <name> <value> [<name> <value>]] [LIMIT <offset> <count>] [COUNT]
  • RETURN: Klausul ini mengidentifikasi bidang kunci mana yang dikembalikan. Klausa AS opsional pada setiap bidang mengesampingkan nama bidang dalam hasil. Hanya bidang yang telah dideklarasikan untuk indeks ini yang dapat ditentukan.

  • LIMIT: <offset><count>: Klausa ini memberikan kemampuan pagination karena hanya kunci yang memenuhi nilai offset dan count yang dikembalikan. Jika klausa ini dihilangkan, defaultnya menjadi "LIMIT0 10", yaitu, hanya maksimal 10 kunci yang akan dikembalikan.

  • PARAMS: Dua kali jumlah pasangan nilai kunci. Pasangan kunci/nilai Param dapat direferensikan dari dalam ekspresi kueri. Untuk informasi selengkapnya, lihat Ekspresi kueri penelusuran vektor.

  • COUNT: Klausa ini menekan pengembalian isi kunci, hanya jumlah kunci yang dikembalikan. Ini adalah alias untuk "LIMIT0 0".

Nilai yang ditampilkan

Mengembalikan array atau balasan kesalahan.

  • Jika operasi selesai dengan sukses, ia mengembalikan array. Elemen pertama adalah jumlah total kunci yang cocok dengan query. Elemen yang tersisa adalah pasangan nama kunci dan daftar bidang. Daftar bidang adalah array lain yang terdiri dari pasangan nama bidang dan nilai.

  • Jika indeks sedang dalam proses diisi kembali, perintah segera mengembalikan balasan kesalahan.

  • Jika batas waktu tercapai, perintah mengembalikan balasan kesalahan.

Contoh: Lakukan beberapa pencarian

catatan

Contoh berikut menggunakan argumen asli valkey-cli, seperti de-quoting dan de-escaping data, sebelum mengirimnya ke Valkey atau Redis. OSS Untuk menggunakan klien bahasa pemrograman lainnya (Python, Ruby, C #, dll.), Ikuti aturan penanganan lingkungan tersebut untuk menangani string dan data biner. Untuk informasi selengkapnya tentang klien yang didukung, lihat Alat untuk Dibangun AWS

Pencarian hash

FT.SEARCH hash_idx1 "*=>[KNN 2 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 2 2) "hash:0" 3) 1) "__VEC_score" 2) "0" 3) "vec" 4) "\x00\x00\x00\x00\x00\x00\x00\x00" 4) "hash:1" 5) 1) "__VEC_score" 2) "1" 3) "vec" 4) "\x00\x00\x00\x00\x00\x00\x80\xbf"

Ini menghasilkan dua hasil, diurutkan berdasarkan skornya, yaitu jarak dari vektor kueri (dimasukkan sebagai hex).

JSONpencarian

FT.SEARCH json_idx1 "*=>[KNN 2 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 2 2) "json:2" 3) 1) "__VEC_score" 2) "11.11" 3) "$" 4) "[{\"vec\":[1.1, 1.2, 1.3, 1.4, 1.5, 1.6]}]" 4) "json:0" 5) 1) "__VEC_score" 2) "91" 3) "$" 4) "[{\"vec\":[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]}]"

Ini menghasilkan dua hasil terdekat, diurutkan berdasarkan skornya, dan perhatikan bahwa nilai JSON vektor dikonversi menjadi float dan vektor kueri masih merupakan data vektor. Perhatikan juga bahwa karena KNN parameternya 2, hanya ada dua hasil. Nilai yang lebih besar akan mengembalikan lebih banyak hasil:

FT.SEARCH json_idx1 "*=>[KNN 100 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 3 2) "json:2" 3) 1) "__VEC_score" 2) "11.11" 3) "$" 4) "[{\"vec\":[1.1, 1.2, 1.3, 1.4, 1.5, 1.6]}]" 4) "json:0" 5) 1) "__VEC_score" 2) "91" 3) "$" 4) "[{\"vec\":[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]}]" 6) "json:1" 7) 1) "__VEC_score" 2) "9100" 3) "$" 4) "[{\"vec\":[10.0, 20.0, 30.0, 40.0, 50.0, 60.0]}]"