Untuk membantu Anda menggunakan dan men-debug berbagai algoritma di OpenSearch, OpenSearch menyediakan fitur uji A/B. Sebelum menerapkan fitur ini dalam bisnis online, Anda dapat menjalankan uji A/B dengan mengarahkan sebagian kueri ke kelompok uji tertentu. Hal ini membantu mencegah dampak negatif pada bisnis online jika fitur belum diuji. Fitur uji A/B memungkinkan Anda menguji efek dari analisis kueri, sortir kasar, dan sortir halus.
Menggunakan fitur uji A/B
Langkah 1: Konfigurasikan Uji A/B
Untuk mendapatkan metrik pengujian yang lebih komprehensif, kami sarankan Anda mengaktifkan fitur pengumpulan data perilaku klik sebelum mengonfigurasi uji A/B. Jika Anda menggunakan fitur uji A/B untuk pertama kalinya, ikuti empat langkah berikut:
1. Buka halaman Buat Kelompok Uji.
Masuk ke konsol OpenSearch. Di panel navigasi sebelah kiri, pilih Ekstensi Fitur > Uji A/B. Di halaman Uji A/B, klik Buat.

2. Buat kelompok uji.
Anda dapat membuat kelompok uji untuk menguji efek analisis kueri, sortir kasar, sortir halus, dan prediksi kategori. Nama Kelompok Uji adalah nama tampilan kelompok uji yang akan dibuat. Anda dapat menyesuaikan nama sesuai kebutuhan, dengan batasan maksimal 30 karakter.
3. Buat uji.
Setelah menentukan nama kelompok uji dan mengklik Berikutnya, buat uji dengan mengklik Buat Uji di langkah Konfigurasi Uji. Anda dapat membuat hingga 20 uji dalam satu kelompok uji, tetapi hanya maksimal 10 uji online yang dapat berlaku secara bersamaan.
3.1 Tentukan nama uji. Anda dapat menyesuaikan nama uji, dengan batasan maksimal 30 karakter.
3.2 Konfigurasikan uji.
Anda dapat menentukan analisis kueri, sortir kasar, dan sortir halus yang ingin diuji. Hanya aturan analisis kueri, sortir kasar, dan sortir halus yang sudah ada yang dapat dipilih.
Saat menentukan analisis kueri untuk uji di kolom Jenis dan Aturan Analisis Kueri:
Jika memilih Kustom dari daftar drop-down, Anda harus memilih aturan analisis kueri yang telah dibuat untuk aplikasi.
Jika memilih Gunakan Konfigurasi Online Default dari daftar drop-down, konfigurasi online default digunakan untuk uji.
Logika yang sama berlaku saat menentukan sortir kasar dan sortir halus untuk uji di kolom Jenis dan Kebijakan Sortir.
Jika memilih kebijakan sortir yang sedang dikonfigurasi tetapi secara tidak sengaja memodifikasinya, efek uji A/B mungkin terpengaruh. Untuk mengatasi masalah ini, Anda hanya diizinkan memilih kebijakan sortir yang telah diterbitkan. Setelah memilih kebijakan sortir, Anda tidak dapat memodifikasinya.
3.3 Tentukan lalu lintas uji. Proporsi lalu lintas minimum yang dapat dikonfigurasikan untuk uji adalah 1%. Dalam skenario yang sama, jumlah total proporsi lalu lintas yang dikonfigurasikan untuk semua uji online dalam kelompok uji tidak boleh melebihi 100%.
4. Selesaikan pembuatan kelompok uji.
Setelah membuat dan mengonfigurasi uji untuk kelompok uji, klik Berikutnya. Pesan "Kelompok uji telah dibuat" akan muncul di langkah Selesai. Klik Selesai untuk kembali ke halaman Uji A/B.
Gambar berikut menunjukkan bahwa kelompok uji yang dibuat berada dalam status Tertunda.
5. Mulai pengujian.
Setelah membuat kelompok uji, Anda dapat mengklik Mulai Pengujian di kolom Tindakan kelompok uji untuk memulai pengujian. Setelah pengujian dimulai, status kelompok uji menjadi Sedang Diuji.
6. Gunakan uji A/B untuk kueri pencarian online.
Setelah fitur uji A/B diaktifkan dan kelompok uji dibuat serta dikonfigurasi, jika ingin menggunakan uji A/B untuk kueri pencarian online, Anda harus menentukan parameter abtest dalam kueri. Parameter abtest terdiri dari dua sub-parameter: scene_tag dan flow_divider.
Kode berikut adalah URL yang digunakan untuk kueri pencarian:
/v3/openapi/apps/160029126/search?query=query=default:'Shenzhen'&&config=start:0,hit:10,format:fulljson&abtest=scene_tag:test_1,flow_divider:123456scene_tag: Nama kelompok uji. Awalnya, scene_tag menentukan tag dari skenario uji. Anda dapat menetapkan nilai parameter ini ke nama kelompok uji yang dibuat di konsol OpenSearch. Gambar sebelumnya menunjukkan langkah-langkahnya. Dengan cara ini, lalu lintas uji yang dikonfigurasikan untuk uji dalam kelompok uji dikirim ke uji yang sesuai.
flow_divider: Anda harus menentukan parameter ini. Sistem backend melakukan operasi hash pada nilai parameter ini untuk mengalokasikan lalu lintas kueri ke uji yang berbeda dalam kelompok uji. Sistem backend mengalokasikan lalu lintas berdasarkan proporsi yang dikonfigurasikan untuk setiap uji di konsol OpenSearch. Kami sarankan Anda menetapkan parameter flow_divider ke ID pengguna. Anda juga dapat menetapkan parameter ini ke ID atau alamat IP perangkat pengguna.
Catatan:
Saat mengakses OpenSearch menggunakan SDK OpenSearch, jika nilai parameter scene_tag dan flow_divider tidak mengandung spasi atau tanda baca, Anda dapat langsung memanggil metode yang sesuai tanpa mengkodekan nilai parameter tersebut. Jika nilai parameter mengandung spasi atau tanda baca, Anda harus mengkodekannya terlebih dahulu. Untuk informasi lebih lanjut, lihat bagian "Contoh praktis" dalam topik ini.
Jika mengakses OpenSearch dengan memanggil operasi API, nilai parameter scene_tag dan flow_divider harus dikodekan URL. Nilai parameter abtest diteruskan ke OpenSearch dalam format berikut: abtest=urlencode(scene_tag:urlencode(\$scene),flow_divider:urlencode(\$value)). Dalam format ini, urlencode adalah fungsi yang digunakan untuk mengkodekan URL.
Untuk informasi lebih lanjut, lihat FAQ tentang Pengujian A/B.
Langkah 2: Kelola Kelompok Uji dan Uji
Kelola Kelompok Uji
Setelah kelompok uji dibuat, ia ditampilkan dalam daftar kelompok uji di halaman Uji A/B.
Anda dapat melakukan operasi dasar berikut pada kelompok uji yang telah dibuat:
1. Mulai pengujian.
Anda dapat memulai pengujian untuk kelompok uji dengan status Tertunda atau Dihentikan.
2. Hentikan pengujian.
Anda dapat menghentikan pengujian untuk kelompok uji dengan status Sedang Diuji.
3. Hapus kelompok uji.
Anda dapat menghapus kelompok uji di halaman Uji A/B.
Kelola Uji
Setelah kelompok uji dibuat, ia ditampilkan dalam daftar kelompok uji di halaman Uji A/B.
Untuk melihat detail kelompok uji, Anda dapat mengklik Detail di kolom Tindakan kelompok uji. Di halaman Detail Kelompok Uji, bagian Daftar Uji mencantumkan nama, jenis dan aturan analisis kueri, jenis dan kebijakan sortir, serta proporsi lalu lintas setiap uji dalam kelompok uji, dan operasi yang dapat dilakukan pada uji.
Anda dapat melakukan operasi dasar berikut pada uji yang telah dibuat:
Edit uji: Anda dapat mengedit nama, konfigurasi, dan lalu lintas uji.
Hapus uji: Jika Anda menghapus uji, sistem tidak lagi menyimpan konfigurasinya. Uji yang dihapus tidak lagi berlaku secara online.
Konfigurasikan daftar putih:
OpenSearch menyediakan fitur daftar putih yang memungkinkan Anda menambahkan nilai tertentu dari parameter flow_divider ke uji tertentu. Dengan cara ini, Anda dapat melihat efek pencarian dari uji.
Langkah 3: Lihat Detail Kelompok Uji A/B
Status Data Perilaku
Setelah membuat kelompok uji, Anda dapat mengklik Detail kelompok uji di kolom Tindakan di halaman Uji A/B. Di halaman Detail Kelompok Uji, Anda dapat melihat status data perilaku. Data perilaku mungkin berada dalam status berikut:
Tidak diaktifkan: Tidak ada data perilaku yang diunggah untuk aplikasi. Untuk informasi lebih lanjut, lihat Pengumpulan Data V2.0.
Diaktifkan tanpa data: Fitur pengumpulan data perilaku diaktifkan untuk aplikasi, tetapi tidak ada data perilaku yang diterima oleh aplikasi.
Abnormal (Tidak tersedia): Data perilaku ditemukan tidak dapat dipercaya berdasarkan pemeriksaan kualitas.
Status Kelompok Uji
Setelah membuat kelompok uji, Anda dapat mengklik Detail di kolom Tindakan kelompok uji di halaman Uji A/B. Di halaman Detail Kelompok Uji, Anda dapat melihat status kelompok uji. Kelompok uji mungkin berada dalam status berikut:
Tertunda: Pengujian dapat dimulai atau dihentikan untuk kelompok uji.
Sedang Diuji: Pengujian dimulai untuk kelompok uji. Jumlah hari yang berlalu sejak pengujian dimulai ditampilkan.
Dihentikan: Pengujian dihentikan untuk kelompok uji. Waktu pengujian kumulatif dihitung dari waktu pengujian dimulai pertama kali hingga waktu pengujian akhirnya dihentikan. Hanya jumlah hari di mana pengujian benar-benar berjalan yang diakumulasikan.
Statistik Data
Untuk melihat statistik data kelompok uji, temukan kelompok uji yang ingin dilihat di halaman Uji A/B, dan klik Detail di kolom Tindakan kelompok uji. Di bagian Statistik Data halaman Detail Kelompok Uji, Anda dapat melihat laporan data uji A/B. Sebagai alternatif, Anda dapat memilih Statistik Laporan > Uji A/B di panel navigasi sebelah kiri untuk pergi ke halaman Uji A/B. Di konsol OpenSearch, Anda dapat melihat statistik data kelompok uji satu hari setelah pengujian dimulai untuk kelompok uji. Setelah konsol OpenSearch ditingkatkan, halaman perbandingan metrik inti dan tabel data metrik spesifik digabungkan. Anda dapat memilih metrik yang ingin dilihat dari daftar drop-down Jenis Metrik. Alih-alih bentuk data asli, data metrik inti ditampilkan dalam grafik garis. Secara default, data metrik hari terakhir ditampilkan. Di bagian Statistik Data halaman Detail Kelompok Uji, Anda dapat memilih beberapa uji yang datanya ingin dibandingkan dari daftar drop-down Uji. Metrik inti yang tersedia termasuk jumlah tampilan halaman (PV), tampilan pengguna (UV), laju hasil nol, rata-rata PV per pengguna, jumlah eksposur, kueri pencarian, dan rata-rata kueri pencarian per pengguna.
Catatan: Jika Anda memulai uji A/B pada suatu hari, Anda dapat melihat data laporan yang dihasilkan untuk uji A/B setelah pukul 08:00 keesokan harinya. Bahkan jika Anda menghentikan uji A/B pada hari itu, Anda dapat melihat data laporan yang dihasilkan sebelum uji A/B dihentikan keesokan harinya.
Contoh praktis
Sebagai contoh, Anda ingin menggunakan OpenSearch untuk menangani jenis lalu lintas kueri berikut untuk produk e-commerce:
Tipe 1: Lalu lintas permintaan pencarian yang dikirim oleh pengguna berdasarkan kata kunci produk. Contoh:
query=config=format:fulljson&&query=default:'infant formula'&&sort=price
Tipe 2: Lalu lintas panggilan yang dikirim dari layanan internal lainnya. Contoh:
query=config=format:fulljson&&query=cat_id:'1'|'2'|'3'&&sort=timestamp
Untuk lalu lintas tipe 1, Anda ingin menjalankan uji A/B berdasarkan ID anggota pengguna untuk membandingkan efek dari beberapa ekspresi sortir, model prediksi kategori, atau aturan analisis kueri. Untuk memenuhi persyaratan, Anda dapat melakukan langkah-langkah berikut:
1. Buat kelompok uji dan uji yang diperlukan menggunakan fitur uji A/B di konsol OpenSearch. Di langkah Informasi Dasar di halaman Buat Kelompok Uji, atur parameter Nama Kelompok Uji ke user_search.

2. Tetapkan parameter abtest dalam kueri pencarian. Parameter Nama Kelompok Uji diatur ke user_search di konsol OpenSearch. Oleh karena itu, Anda harus menetapkan parameter scene_tag ke user_search dan parameter flow_divider ke xxxx, yang merupakan nilai ID anggota, dalam kueri pencarian.
2.1Gunakan SDK. Kode berikut menunjukkan cara menggunakan SDK untuk Java untuk mengonfigurasi kueri pencarian. Penggunaan SDK untuk PHP mirip dengan penggunaan SDK untuk Java.
aliyun-sdk-opensearch-3.4.1 (Java) dan opensearch-sdk-php-3.3.0 (PHP)
2.2Gunakan API.
i. Buat kueri: query=config=format:fulljson&&query=default:'infant formula'&&sort=-price&abtest=scene_tag:user_search,flow_divider:%e5%bc%a0%e4%b8%89.
Catatan: Nilai sub-parameter scene_tag dan flow_divider dari parameter abtest dikodekan URL.
ii. Lakukan pengkodean URL pada nilai setiap parameter, seperti query, sort, dan abtest, dalam permintaan.
query=config%3dformat%3afulljson&&query%3ddefault%3a%27%e5%ae%9d%e5%ae%9d%e5%a5%b6%e7%b2%8
3. Setelah menyelesaikan konfigurasi di atas, Anda dapat menjalankan uji A/B dengan mengarahkan lalu lintas kueri pencarian dari pengguna berdasarkan ID anggota ke kelompok uji.
Laporan operasi bisnis
UI
Untuk pergi ke halaman laporan uji A/B, lakukan langkah-langkah berikut: Di panel navigasi sebelah kiri di konsol OpenSearch, pilih Ekstensi Fitur > Uji A/B. Temukan uji yang ingin dilihat dan klik Laporan statistik di kolom Tindakan.

Anda juga dapat memilih Statistik Laporan > Laporan uji A/B di panel navigasi sebelah kiri untuk pergi ke halaman laporan uji A/B.

Catatan: Untuk informasi lebih lanjut tentang metrik yang dapat dilihat di halaman laporan uji A/B, lihat Laporan uji A/B.