Mengkueri di Pencarian Azure AI

Azure AI Search mendukung konstruksi kueri untuk berbagai skenario, dari pencarian teks bentuk bebas, hingga pola kueri yang sangat ditentukan, hingga pencarian vektor. Semua kueri dijalankan melalui indeks pencarian yang menyimpan konten yang dapat dicari.

Jenis kueri

Formulir kueri Konten yang dapat dicari Deskripsi
pencarian teks lengkap Indeks terbalik dari istilah yang ditokenisasi. Kueri teks lengkap berulang melalui indeks terbalik yang disusun untuk pemindaian cepat, di mana kecocokan dapat ditemukan di bidang apa pun yang berpotensi, dalam sejumlah dokumen pencarian. Teks dianalisis dan ditokenisasi untuk pencarian teks lengkap.
Pencarian vektor Indeks vektor penyematan yang dihasilkan. Kueri vektor berulang melalui bidang vektor dalam indeks pencarian.
Pencarian hibrid Semua hal di atas, dalam satu indeks pencarian. Menggabungkan pencarian teks dan pencarian vektor dalam satu permintaan kueri. Pencarian teks berfungsi pada konten teks biasa di bidang "dapat dicari" dan "dapat difilter". Pencarian vektor berfungsi pada konten di bidang vektor.
Lainnya Teks biasa dan konten alfanumerik. Konten mentah, verbatim yang diekstrak dari dokumen sumber, filter pendukung dan kueri pencocokan pola seperti pencarian geo-spasial, pencarian fuzzy, dan pencarian bidang.

Artikel ini membawa fokus ke kategori terakhir: kueri yang bekerja pada teks biasa dan konten alfanumerik, diekstrak utuh dari sumber asli, digunakan untuk filter dan formulir kueri khusus lainnya.

Pelengkapan otomatis dan kueri yang disarankan

Pelengkapan otomatis atau hasil yang disarankan adalah alternatif untuk memicu permintaan search kueri berturut-turut berdasarkan input string parsial (setelah setiap karakter) dalam pengalaman pencarian sesuai tipe Anda. Anda dapat menggunakan autocomplete parameter dan suggestions bersama-sama atau secara terpisah, seperti yang dijelaskan dalam panduan ini, tetapi Anda tidak dapat menggunakannya dengan search. Istilah yang diselesaikan dan kueri yang disarankan berasal dari konten indeks. Mesin tidak pernah mengembalikan string atau saran yang tidak ada dalam indeks Anda. Untuk informasi selengkapnya, lihat Pelengkapan otomatis (REST API) dan Saran (REST API).

Filter banyak digunakan dalam aplikasi yang didasarkan pada Azure AI Search. Pada halaman aplikasi, filter sering divisualisasikan sebagai aspek dalam struktur navigasi tautan untuk pemfilteran yang diarahkan pengguna. Filter juga digunakan secara internal untuk mengekspos potongan konten terindeks. Misalnya, Anda dapat menginisialisasi halaman pencarian menggunakan filter pada kategori produk, atau bahasa jika indeks berisi bidang dalam bahasa Inggris dan Prancis.

Anda mungkin juga memerlukan filter untuk memanggil formulir kueri khusus, seperti yang diuraikan dalam tabel berikut ini. Anda bisa menggunakan filter dengan pencarian yang tidak ditentukan (search=*) atau dengan string kueri yang menyertakan istilah, frasa, operator, dan pola.

Skenario filter Deskripsi
Filter rentang Di Pencarian Azure AI, kueri rentang dibuat menggunakan parameter filter. Untuk informasi dan contoh selengkapnya, lihat Contoh filter rentang.
Navigasi tersaring Di pohon navigasi tersaring, pengguna dapat memilih faset. Saat didukung oleh filter, hasil pencarian dipersempit pada setiap klik. Setiap faset didukung oleh filter yang mengecualikan dokumen yang tidak lagi cocok dengan kriteria yang disediakan oleh faset.

Catatan

Teks yang digunakan dalam ekspresi filter tidak dianalisis selama pemrosesan kueri. Input teks dianggap sebagai pola karakter peka huruf besar/kecil verbatim yang berhasil atau gagal pada pertandingan. Ekspresi filter dibuat menggunakan sintaks OData dan dilewatkan dalam parameter di filter semua bidang yang dapat difilter dalam indeks Anda. Untuk informasi selengkapnya, lihat Filter di Azure AI Search.

Pencarian geospasial cocok pada koordinat lintang dan bujur lokasi untuk "temukan di dekat saya" atau pengalaman pencarian berbasis peta. Di Azure AI Search, Anda dapat menerapkan pencarian geospasial dengan mengikuti langkah-langkah berikut:

Pencarian geospasial menggunakan kilometer untuk jarak. Koordinat ditentukan dalam format ini: (longitude, latitude).

Berikut adalah contoh filter untuk pencarian geospasial. Filter ini menemukan bidang lain Location dalam indeks pencarian yang memiliki koordinat dalam radius 300 kilometer dari titik geografi (dalam contoh ini, Washington D.C.). Ini mengembalikan informasi alamat dalam hasil, dan menyertakan klausul opsional facets untuk navigasi mandiri berdasarkan lokasi.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2023-07-01-Preview
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

Untuk informasi dan contoh selengkapnya, lihat Contoh pencarian geospasial.

Pencarian dokumen

Berbeda dengan formulir kueri yang dijelaskan sebelumnya, yang ini mengambil satu dokumen pencarian berdasarkan ID, tanpa pencarian atau pemindaian indeks yang sesuai. Hanya satu dokumen yang diminta dan dikembalikan. Saat pengguna memilih item di hasil pencarian, mengambil dokumen dan mengisi halaman detail dengan bidang adalah respons umum, dan pencarian dokumen adalah operasi yang mendukungnya.

Pencarian lanjutan: fuzzy, kartubebas, pencarian terdekat, regex

Formulir kueri tingkat lanjut bergantung pada pengurai dan operator Lucene Penuh yang memicu perilaku kueri tertentu.

Jenis kueri Penggunaan Contoh dan informasi selengkapnya
Pencarian ber bidang search Parameter, queryType=full Bangun ekspresi kueri komposit yang menargetkan satu bidang.
Contoh pencarian lapangan
Pencarian fuzzy search Parameter, queryType=full Cocok dengan istilah yang memiliki konstruksi atau ejaan yang sama.
Contoh pencarian fuzzy
pencarian terdekat search Parameter, queryType=full Menemukan istilah yang berdekatan satu sama lainnya dalam dokumen.
Contoh pencarian terdekat
peningkatan istilah search Parameter, queryType=full Memberi peringkat dokumen lebih tinggi jika berisi istilah yang ditingkatkan, relatif terhadap orang lain yang tidak.
Contoh peningkatan istilah
Pencarian ekspresi reguler search Parameter, queryType=full Mencocokkan didasarkan pada isi ekspresi reguler.
Contoh ekspresi reguler
pencarian kartubebas atau awalan search parameter dengan * ~ atau ?, queryType=full Kecocokan berdasarkan awalan dan tanda titik (~) atau karakter tunggal (?).
Contoh pencarian kartubebas

Langkah berikutnya

Untuk melihat lebih dekat implementasi kueri, tinjau contoh untuk setiap sintaks. Jika Anda baru menggunakan pencarian teks lengkap, lihat lebih dekat apa yang dilakukan mesin kueri mungkin merupakan pilihan yang sama baiknya.