Mengumpulkan data telemetri untuk analitik lalu lintas pencarian

Analitik lalu lintas pencarian adalah pola untuk mengumpulkan telemetri tentang interaksi pengguna dengan aplikasi Azure AI Search Anda, seperti peristiwa klik yang dimulai pengguna dan input keyboard. Dengan menggunakan informasi ini, Anda dapat menentukan keefektifan solusi pencarian Anda, termasuk istilah pencarian populer, laju klik tayang, dan input kueri mana yang menangguhkan hasil nol.

Pola ini membutuhkan dependensi pada Application Insights (fitur Azure Monitor) untuk mengumpulkan data pengguna. Ini mengharuskan Anda menambahkan instrumentasi ke kode klien Anda, seperti yang dijelaskan dalam artikel ini. Terakhir, Anda memerlukan mekanisme pelaporan untuk menganalisis data. Kami merekomendasikan Power BI, tapi Anda dapat menggunakan Dasbor Aplikasi atau alat apa pun yang tersambung ke Application Insights.

Catatan

Pola yang dijelaskan dalam artikel ini adalah untuk skenario tingkat lanjut dan data aliran klik yang dihasilkan oleh kode yang Anda tambahkan ke klien Anda. Sebaliknya, log layanan mudah disiapkan, menyediakan berbagai metrik, dan dapat dilakukan di portal tanpa kode yang diperlukan. Mengaktifkan pengelogan direkomendasikan untuk semua skenario. Untuk informasi selengkapnya, lihat Mengumpulkan dan menganalisis data log.

Mengidentifikasi data pencarian yang relevan

Untuk memiliki metrik yang berguna untuk analisis lalu lintas pencarian, perlu untuk mencatat beberapa sinyal dari pengguna aplikasi pencarian Anda. Sinyal ini menandakan konten yang diminati pengguna dan dianggap relevan. Untuk analitik lalu lintas pencarian, ini termasuk:

  • Peristiwa pencarian yang dibuat pengguna: Hanya kueri pencarian yang diawali oleh pengguna yang menarik. Permintaan pencarian lainnya, seperti yang digunakan untuk mengisi faset atau mengambil informasi internal, tidak penting. Pastikan untuk hanya menginstrumentasikan peristiwa yang dimulai pengguna untuk menghindari kemiringan atau bias dalam hasil Anda.

  • Peristiwa klik yang dibuat pengguna: Pada halaman hasil pencarian, peristiwa klik umumnya berarti bahwa dokumen adalah hasil yang relevan untuk kueri pencarian tertentu.

Dengan menautkan peristiwa pencarian dan klik dengan ID korelasi, Anda dapat memperoleh pemahaman yang lebih mendalam tentang seberapa baik performa fungsi pencarian aplikasi Anda.

Menambahkan analitik lalu lintas pencarian

Di halaman portal untuk layanan Pencarian Azure AI Anda, buka halaman Analitik Lalu Lintas Pencarian untuk mengakses contekan untuk mengikuti pola telemetri ini. Dari halaman ini, Anda dapat memilih atau membuat sumber daya Application Insights, mendapatkan kunci instrumentasi, menyalin cuplikan yang dapat Anda sesuaikan untuk solusi Anda, dan mengunduh laporan Power BI yang dibangun di atas skema yang tercermin dalam pola.

Cuplikan layar perintah dan halaman portal untuk menyiapkan Application Insights.

Langkah 1: Menyiapkan Application Insights

Pilih sumber daya Application Insights yang ada atau buat sumber daya jika Anda belum memilikinya.

Pintasan yang berfungsi untuk beberapa jenis proyek Visual Studio tercermin dalam langkah-langkah berikut.

Untuk ilustrasi, langkah-langkah ini menggunakan klien dari Menambahkan pencarian ke aplikasi web statis.

  1. Buka solusi Anda di Visual Studio.

  2. Pada menu Proyek, pilih layanan>Koneksi Tambahkan>Azure Application Insights.

  3. Di Koneksi ke dependensi, pilih Azure Application Insights, lalu pilih Berikutnya.

  4. Pilih langganan Azure Anda, sumber daya Application Insights Anda, lalu pilih Selesai.

Pada titik ini, aplikasi Anda disiapkan untuk pemantauan aplikasi, yang berarti semua pemuatan halaman di aplikasi klien Anda dilacak dengan metrik default.

Jika pintasan ini tidak berfungsi untuk Anda, lihat Mengaktifkan telemetri sisi server Application Insights.

Langkah 2: Tambahkan instrumentasi

Tambahkan kode instrumentasi ke aplikasi klien Anda. Halaman Analitik Lalu Lintas Pencarian di portal Azure menyediakan cuplikan kode yang dapat Anda tempelkan ke dalam kode aplikasi Anda.

Membuat klien telemetri

Buat objek yang mengirim peristiwa ke Application Insights. Anda dapat menambahkan instrumentasi ke kode aplikasi sisi server atau kode sisi klien yang berjalan di browser, yang dinyatakan di sini sebagai varian C# dan JavaScript. Untuk bahasa lain, lihat platform dan kerangka kerja yang didukung.

Telemetri sisi server menangkap metrik di lapisan aplikasi, misalnya dalam aplikasi yang berjalan sebagai layanan web di Azure, atau sebagai aplikasi lokal di jaringan perusahaan. Telemetri sisi server mengambil peristiwa pencarian dan klik, posisi dokumen dalam hasil, dan informasi kueri, tetapi pengumpulan data Anda akan dicakup ke informasi apa pun yang tersedia di lapisan tersebut.

Pada klien, Anda mungkin memiliki kode lain yang memanipulasi input kueri, menambahkan navigasi, atau menyertakan konteks (misalnya, kueri yang dimulai dari halaman beranda versus halaman produk). Jika ini menjelaskan solusi Anda, Anda mungkin memilih instrumentasi sisi klien sehingga telemetri Anda mencerminkan detail tambahan. Bagaimana detail tambahan ini dikumpulkan melampaui cakupan pola ini, tetapi Anda dapat meninjau Application Insights untuk halaman web untuk bantuan dengan keputusan tersebut.

Anda bisa mendapatkan kunci instrumentasi dari portal Azure, baik di halaman untuk Application Insights atau di halaman Analitik lalu lintas pencarian untuk Azure AI Search.

// Application Insights SDK: https://www.nuget.org/packages/Microsoft.ApplicationInsights.Web 

var telemetryClient = new TelemetryClient();
telemetryClient.InstrumentationKey = "0000000000000000000000000000";

Mencatat peristiwa pencarian

Setiap kali permintaan pencarian dikeluarkan oleh pengguna, Anda harus mencatatnya sebagai peristiwa pencarian dengan skema berikut pada peristiwa kustom Application Insights. Ingatlah untuk mencatat hanya kueri pencarian yang dibuat pengguna.

  • SearchServiceName: (string) nama layanan pencarian
  • SearchId: (guid) pengidentifikasi unik kueri pencarian (ada dalam respons pencarian)
  • IndexName: (string) indeks layanan pencarian yang akan dikueri
  • QueryTerms: (string) istilah penelusuran yang dimasukkan oleh pengguna
  • ResultCount: (int) jumlah dokumen yang dikembalikan (ada dalam respons pencarian)
  • ScoringProfile: (string) nama profil penilaian yang digunakan, jika ada

Catatan

Minta jumlah kueri yang dibuat pengguna dengan menambahkan $count=true ke kueri penelusuran Anda. Untuk informasi selengkapnya, lihat Dokumen Pencarian (REST).

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"IndexName", <INDEX NAME>},
	{"QueryTerms", <SEARCH TERMS>},
	{"ResultCount", <RESULTS COUNT>},
	{"ScoringProfile", <SCORING PROFILE USED>}
};

telemetryClient.TrackEvent("Search", properties);

Peristiwa klik log

Setiap kali pengguna mengeklik dokumen, itu adalah sinyal yang harus dicatat untuk tujuan analisis pencarian. Gunakan peristiwa kustom Application Insights untuk mencatat peristiwa ini dengan skema berikut:

  • ServiceName: (string) nama layanan pencarian
  • SearchId: (guid) pengidentifikasi unik dari kueri pencarian terkait
  • DocId: (string) pengidentifikasi dokumen
  • Posisi: (int) pangkat dokumen di halaman hasil pencarian

Catatan

Posisi mengacu pada urutan kardinal dalam aplikasi Anda. Anda bebas mengatur nomor ini, asalkan selalu sama, untuk memungkinkan perbandingan.

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"ClickedDocId", <CLICKED DOCUMENT ID>},
	{"Rank", <CLICKED DOCUMENT POSITION>}
};

telemetryClient.TrackEvent("Click", properties);

Langkah 3: Menganalisis di Power BI

Setelah Anda melengkapi aplikasi dan memverifikasi bahwa aplikasi Anda tersambung dengan benar ke Application Insights, Anda mengunduh templat laporan yang telah ditentukan sebelumnya untuk menganalisis data di desktop Power BI. Laporan ini berisi bagan dan tabel yang telah ditentukan sebelumnya yang berguna untuk menganalisis data tambahan yang diambil untuk analitik lalu lintas pencarian.

  1. Di portal Azure pada halaman layanan pencarian, di bawah Pengaturan, pilih Cari analitik lalu lintas.

  2. Pilih Dapatkan Power BI Desktop untuk menginstal Power BI.

  3. Pilih Unduh laporan Power BI untuk mendapatkan laporan.

  4. Laporan terbuka di Power BI Desktop, dan Anda diminta untuk menyambungkan ke Application Insights dan memberikan kredensial. Anda dapat menemukan informasi koneksi di halaman portal Azure untuk sumber daya Application Insights Anda. Untuk info masuk, berikan nama pengguna dan kata sandi yang sama dengan yang Anda gunakan untuk rincian masuk portal.

    Cuplikan layar memperlihatkan cara menyambungkan ke Application Insights dari Power BI.

  5. Pilih Muat.

Laporan tersebut berisi bagan dan tabel yang membantu Anda membuat keputusan yang lebih tepat untuk meningkatkan performa dan relevansi pencarian Anda.

Metrik menyertakan item berikut:

  • Volume pencarian dan pasangan dokumen-istilah paling populer: istilah yang menghasilkan dokumen yang sama diklik, diurutkan berdasarkan klik.
  • Pencarian tanpa klik: istilah untuk kueri teratas yang mendaftar tanpa klik

Cuplikan layar berikut ini memperlihatkan seperti apa laporan bawaan jika Anda telah menggunakan semua elemen skema.

Cuplikan layar memperlihatkan laporan bawaan menggunakan semua elemen skema yang tersedia.

Langkah berikutnya

Instrumen aplikasi pencarian Anda untuk mendapatkan data yang kuat dan mendalam tentang layanan pencarian Anda.

Anda dapat menemukan informasi selengkapnya tentang Application Insights dan mengunjungi halaman harga untuk mempelajari selengkapnya tentang berbagai tingkat layanannya.

Pelajari selengkapnya tentang membuat laporan. Lihat Memulai Power BI Desktop untuk detailnya.