Tujuan pencarian pengguna secara langsung menentukan relevansi hasil yang diberikan terhadap kebutuhannya. Di OpenSearch, Query Planner menginterpretasikan tujuan tersebut dengan menerapkan serangkaian analisis cerdas untuk menulis ulang kueri sebelum menjalankan proses retrieval dan sorting di mesin. Fitur analisis kueri yang tersedia mencakup konfigurasi sinonim, penyaringan stop word, koreksi ejaan, analisis bobot istilah, prediksi kategori, serta Pengenalan Entitas Bernama (Named Entity Recognition/NER) yang didukung dalam skenario E-dagang. Dokumen ini menjelaskan setiap fitur analisis kueri dan memberikan contoh konkret untuk kasus penggunaan E-dagang.
Ikhtisar penyaringan stop word
Fitur ini menyaring istilah yang tidak bermakna dari kueri menggunakan kamus stop word bawaan sistem. Istilah tersebut umumnya berupa kata berfrekuensi tinggi yang tidak memengaruhi hasil pencarian, seperti tanda baca dan partikel modal.
Ikhtisar koreksi ejaan
Kueri pengguna tidak selalu akurat. Typo dapat menghasilkan respons yang tidak terduga atau kosong, sehingga input perlu diperiksa terhadap kesalahan ejaan. Fitur koreksi ejaan OpenSearch mengidentifikasi dan memperbaiki istilah yang salah eja dalam kueri. Berdasarkan tingkat kepercayaan terhadap koreksi tersebut, sistem menentukan apakah akan menggunakan istilah yang telah dikoreksi dalam proses retrieval.
Ikhtisar analisis bobot istilah
Fitur ini mengevaluasi tingkat kepentingan setiap istilah dalam kueri dan memberikan bobot sesuai nilainya. Istilah dengan bobot rendah dapat dikecualikan dari proses retrieval untuk menghindari pencocokan yang terlalu ketat—yang jika tidak dicegah, dapat mengurangi jumlah hasil relevan saat pengguna memasukkan istilah berbobot rendah.
Pengenalan dasar fitur sinonim
Dalam skenario pencarian dunia nyata, pengguna sering menyampaikan konsep yang sama dengan kata-kata berbeda. Sebagai contoh, saat mencari Apple phone, konten yang mengandung iPhone juga seharusnya muncul dalam hasil pencarian. Karena pengguna jarang memasukkan semua kemungkinan istilah sinonim dalam satu kueri, identifikasi dan perluasan sinonim secara signifikan meningkatkan tingkat recall. Konfigurasi sinonim memperluas kueri dengan istilah-istilah ekuivalen untuk mengambil dokumen yang lebih relevan.
Ikhtisar Named Entity Recognition
Named Entity Recognition (NER) mengidentifikasi entitas semantik dengan makna spesifik dalam kueri. Berdasarkan entitas yang dikenali beserta jenisnya, analisis kueri menulis ulang kueri menggunakan bobot khusus entitas guna lebih tepat mencocokkan maksud pengguna. Proses penulisan ulang ini memprioritaskan entitas berkepentingan tinggi selama retrieval. Sementara itu, istilah berkepentingan rendah tidak memengaruhi retrieval, tetapi turut memengaruhi pengurutan berbasis algoritma.
Contoh analisis kueri E-dagang
Ambil kueri Yang Mi's Nike slim-fit dress with free shipping. sebagai contoh. Tanpa konfigurasi analisis kueri, kueri aslinya adalah:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping' AND default:'.')
Setelah mengaktifkan penyaringan stop word, kueri aktual menjadi:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping')
// Catatan: Tanda baca telah difilter sebagai stop word.
Setelah menambahkan koreksi ejaan, kueri aktual menjadi:
query=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' AND default:'free shipping')
// Catatan: Koreksi ejaan telah memperbaiki istilah pencarian yang salah eja menjadi 'dress'.
Setelah menambahkan analisis bobot istilah, kueri aktual menjadi:
query1=(default:'Yang Mi' AND default:'same style' AND default:'Nike' AND default:'slim-fit' AND default:'dress' RANK default:'free shipping')
query2=(default:'Yang Mi' RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'Nike' RANK default:'dress')
// Catatan: Setelah konfigurasi bobot istilah, istilah berbobot rendah "free shipping" dikecualikan dari retrieval. Jika query1 tidak menghasilkan apa pun, mesin secara otomatis memicu re_search menggunakan query2 untuk menghindari hasil kosong.
Setelah menambahkan konfigurasi sinonim, kueri aktual menjadi:
query1=(default:'Yang Mi' AND default:'same style' AND ((default:'Nike') OR (default:'nike')) AND default:'slim-fit' AND default:'dress' RANK default:'free shipping')
query2=(default:'Yang Mi' RANK ((default:'Nike') OR (default:'nike')) RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'dress')
// Catatan: Setelah konfigurasi sinonim, "nike" ditambahkan sebagai sinonim untuk "Nike". Jika query1 tidak menghasilkan apa pun, mesin secara otomatis memicu re_search menggunakan query2 untuk menghindari hasil kosong.
Setelah menambahkan Named Entity Recognition, kueri aktual menjadi:
query1=(default:'Yang Mi' AND ((default:'Nike') OR (default:'nike')) AND default:'slim-fit' AND default:'dress' RANK default:'free shipping' RANK default:'same style')
query2=(((default:'Nike') OR (default:'nike')) AND default:'dress' RANK default:'slim-fit' RANK default:'free shipping' RANK default:'same style' RANK default:'Yang Mi')
// Catatan: NER mengidentifikasi entitas berikut: Yang Mi (person), same style (suffix), Nike/nike (brand), slim-fit (style element), dress (kategori), free shipping (layanan pemasaran). Entitas berkepentingan tinggi dipertahankan untuk retrieval; istilah berkepentingan rendah hanya memengaruhi pengurutan, bukan retrieval. Jika query1 tidak menghasilkan apa pun, mesin secara otomatis memicu re_search menggunakan query2 untuk menghindari hasil kosong.
Langkah-langkah konfigurasi di Konsol
Langkah 1: Di Konsol OpenSearch, buka Recall Configuration > Query Analysis dan klik Create. Dari panel navigasi di sebelah kiri, pilih Recall Configuration > Query Analysis untuk membuka halaman daftar analisis kueri. Klik tombol Create di pojok kanan atas untuk membuat aturan analisis kueri baru. Langkah 2: Konfigurasikan nama aturan, cakupan indeks, jenis industri, dan fitur yang dipilih (boleh memilih beberapa). Di kotak dialog Add Rule, masukkan nama aturan (misalnya, test_qp), atur cakupan indeks ke default, pilih General sebagai jenis industri, lalu centang Spelling Correction, Term Weight, dan Synonym. Di pengaturan bobot istilah, pilih System Built-in Dictionary, lalu klik OK. Langkah 3: Setelah pembuatan, jalankan search effectiveness test. Setelah divalidasi, tetapkan aturan tersebut sebagai default agar diterapkan pada kueri langsung. Uji pencarian: Setelah dibuat, daftar analisis kueri menampilkan aturan baru bernama test_qp bertipe Custom, dengan bidang pencarian default, jenis industri General, serta fitur Spelling Correction, Term Weight, dan Synonym yang diaktifkan. Klik tautan Search Test di kolom Actions untuk memverifikasi efek analisis kueri. Beralih ke tampilan indeks dan tetapkan sebagai default: Di halaman Query Analysis, klik Query Analysis View di pojok kanan atas untuk beralih ke Index View. Hal ini menampilkan semua aturan analisis kueri yang terkait dengan indeks beserta fitur-fiturnya (penyaringan stop word, koreksi ejaan, bobot istilah, sinonim, dll.). Di daftar aturan, klik Set as Default Query Analysis di samping suatu aturan untuk menjadikannya default bagi indeks tersebut. Klik tombol Create di pojok kanan atas untuk menambahkan aturan analisis kueri baru.