Kamus bawaan OpenSearch menangani sebagian besar koreksi ejaan secara otomatis, tetapi tidak mengenali kode produk, nama merek, dan istilah spesifik domain. Kamus intervensi memungkinkan Anda menentukan entri koreksi kustom yang menggantikan kamus bawaan dalam kasus-kasus tersebut—misalnya, memastikan kueri seperti manhatan dikoreksi menjadi manhattan, atau mencegah kamus bawaan salah “mengoreksi” kode produk.
Cara kerja
Saat kueri pencarian sesuai dengan entri intervensi, OpenSearch menerapkan koreksi yang ditentukan dalam entri tersebut dan mempertahankannya. Istilah-istilah yang tidak cocok kemudian diproses oleh kamus bawaan.
Koreksi ejaan berdasarkan entri intervensi memiliki kredibilitas tinggi. OpenSearch menerapkan koreksi intervensi terlebih dahulu, mempertahankannya, lalu memproses bagian kueri yang tidak berubah menggunakan kamus bawaan.
Contoh:
Entri intervensi:
mobile phone changer -> mobile phone chargerKueri pencarian:
which mobile phone changer brad is goodHasil: Entri intervensi mengoreksi changer menjadi charger. Kamus bawaan mengoreksi brad menjadi brand. Hasil akhir: which mobile phone charger brand is good.
Jenis entri intervensi
Terdapat dua jenis entri intervensi:
| Type | Behavior |
|---|---|
| Add | OpenSearch mengoreksi kueri pencarian dan mengambil hasil berdasarkan kueri yang telah dikoreksi. |
| Block | OpenSearch tidak mengoreksi kueri pencarian dan tidak mengambil hasil berdasarkan kueri koreksi tersebut. |
Gunakan Block ketika kamus bawaan salah “mengoreksi” istilah yang ingin Anda pertahankan apa adanya. Misalnya, jika kamus bawaan mengubah kode produk xr100 menjadi xr1000, tambahkan entri Block untuk xr100 guna mencegah koreksi tersebut.
Aturan pencocokan
Ketika beberapa entri intervensi dapat diterapkan pada satu kueri pencarian, OpenSearch menyelesaikan konflik menggunakan tiga aturan:
Aturan 1: Entri yang lebih awal didahulukan
Jika dua entri memiliki kueri yang telah ditentukan sebelumnya dan saling tumpang tindih, entri yang ditambahkan lebih dulu yang berlaku.
Contoh: kueri china constructing back, entri china constructing -> china construction dan construction back -> construction bank. Kedua entri sebagian sesuai, tetapi hanya entri pertama yang diterapkan. Hasil: china construction back.
Aturan 2: Kueri yang telah ditentukan sebelumnya lebih panjang didahulukan
Jika dua entri memiliki istilah awal yang sama, entri dengan kueri yang telah ditentukan sebelumnya lebih panjang yang menang.
Contoh: kueri opansearching is excellent, entri opan -> open dan opansearching -> opensearch. Entri yang lebih panjang mencocokkan seluruh istilah. Hasil: opensearch is excellent.
Aturan 3: Beberapa entri dapat berlaku sekaligus
Dalam mode pencocokan inklusif, beberapa entri yang tidak tumpang tindih dapat masing-masing mengoreksi bagian berbeda dari kueri yang sama.
Catatan: Entri intervensi menggunakan inclusive match, bukan substring match. Entri hanya berlaku jika satu atau lebih istilah semantik berurutan dan lengkap (maksimal lima) dalam kueri sesuai dengan kueri yang telah ditentukan sebelumnya dalam entri tersebut.
Buat kamus koreksi ejaan
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Aplikasi OpenSearch dengan aturan analisis kueri yang telah dikonfigurasi
Akses ke Konsol OpenSearch
Langkah 1: Buat kamus
Masuk ke Konsol OpenSearch. Di panel navigasi sebelah kiri, pilih Search Algorithm Center > Retrieval Configuration.
Di halaman Basic Configuration, klik Dictionary Management di panel sebelah kiri.
Di halaman Dictionary Management, klik Create di pojok kanan atas.
Di panel Create Query Analysis Dictionary, masukkan nama kamus, atur Dictionary Type ke Spelling Correction, lalu klik Save.


Kamus tersebut muncul dalam daftar kamus.
Langkah 2: Tambahkan entri intervensi
Temukan kamus dalam daftar dan klik Manage Entries di kolom Actions.
Di halaman Manage Entries, klik Add Intervention Entry.
Di panel Add Intervention Entry, isi bidang-bidang berikut:
Field Description Search Query Istilah atau frasa salah eja yang akan dicocokkan Corrected Word Istilah atau frasa yang telah dikoreksi Intervention Type Pilih Add untuk mengaktifkan koreksi, atau Block untuk mencegah koreksi Klik Save.

Catatan: Setiap entri intervensi harus memiliki kueri pencarian yang unik. OpenSearch melakukan Normalisasi terhadap semua konten entri: huruf kapital diubah menjadi huruf kecil, dan karakter full-width diubah menjadi half-width.
Langkah 3: Kaitkan kamus dengan aturan analisis kueri
Buka halaman Query Analysis Rule Configuration dan klik Create di pojok kanan atas.
Di panel Create Rule, pilih kamus intervensi dan kaitkan dengan aturan analisis kueri.

Satu kamus intervensi dapat dikaitkan dengan beberapa aturan analisis kueri.
Langkah 4: Uji sebelum rilis
Jalankan pengujian pencarian untuk memverifikasi hasil koreksi ejaan sebelum menerapkan aturan ke aplikasi yang sedang berjalan. Hal ini memastikan entri intervensi menghasilkan output yang diharapkan.
Contoh
Skenario: Aplikasi panduan belanja e-commerce menggunakan OpenSearch dengan aturan analisis kueri. Setelah rilis, beberapa kueri pencarian menghasilkan hasil yang tidak sesuai karena koreksi ejaan yang tidak lengkap.
Masalah: Pelanggan yang mencari manhatan mendapatkan sangat sedikit hasil karena kamus bawaan tidak mengenali istilah tersebut sebagai salah eja dari manhattan. Sebagian besar dokumen yang berisi manhattan tidak diambil.
Solusi: Tambahkan entri intervensi manhatan -> manhattan ke kamus koreksi ejaan, lalu kaitkan kamus tersebut dengan aturan analisis kueri.
Langkah-langkah:
Buat kamus koreksi ejaan (lihat Langkah 1).
Tambahkan entri intervensi: atur Search Query ke
manhatan, atur Corrected Word kemanhattan, dan atur Intervention Type ke Add.Kaitkan kamus dengan aturan analisis kueri (lihat Langkah 3).
Jalankan pengujian pencarian. OpenSearch kini mengembalikan hasil untuk
manhattansaat pelanggan memasukkanmanhatan.
Batasan dan kendala
| Constraint | Limit |
|---|---|
| Kamus intervensi per aplikasi | 20 |
| Jumlah kueri pencarian per entri intervensi | 1 |
| Kueri yang Dikoreksi per Entri Intervensi | 1 |
| Jumlah entri intervensi per kamus | 1.000 |
Kendala tambahan:
Entri berlaku jika ada istilah dalam kueri pencarian yang sesuai dengan kueri yang telah ditentukan sebelumnya. Misalnya, entri
changer -> chargerberlaku untuk kuerimobile phone changer—OpenSearch tidak memerlukan entri untuk frasa lengkap.Intervensi hanya berlaku untuk satu atau lebih (maksimal lima) istilah semantik berurutan dan lengkap yang sesuai dengan kueri yang telah ditentukan sebelumnya (inclusive match, bukan substring match).
Koreksi ejaan berbasis intervensi memiliki prioritas lebih tinggi daripada koreksi kamus bawaan.
Anda tidak dapat mengubah nama atau tipe kamus setelah dibuat.
Anda tidak dapat menghapus kamus yang dikaitkan dengan aturan analisis kueri, baik aturan tersebut diterapkan pada aplikasi yang sedang berjalan maupun offline. Putuskan keterkaitan kamus dari aturan tersebut terlebih dahulu.