Umumnya, suatu organisasi memiliki terminologi unik atau beberapa cara untuk merujuk pada konsep atau hal tertentu. Anda harus menentukan sinonim untuk menetapkan kesetaraan istilah agar pengguna dapat menemukan item ketika melakukan penelusuran.
Sinonim ditentukan dengan mengindeks item menggunakan skema populer _dictionaryEntry
.
Item dari jenis _dictionaryEntry
dapat memiliki properti berikut:
Properti | Jenis | Deskripsi | Wajib? |
---|---|---|---|
_term |
string | Istilah yang akan ditentukan. Nilai yang disarankan adalah kata tanpa tanda penghubung atau frasa tanpa tanda baca. | Wajib |
_synonym |
string (repeated) | Istilah alternatif yang disertakan dalam kueri yang cocok dengan string yang ditentukan dalam _term . |
Wajib |
_onlyApplicableForAttachedSearchApplications |
boolean | Memungkinkan Anda mengelompokkan sinonim menurut sumber data dan aplikasi penelusuran. Untuk mengetahui informasi selengkapnya, lihat Menentukan sinonim khusus sumber data. | Opsional |
Saat pengguna menyertakan nilai properti _term
dalam kueri, kueri efektif menjadi "sinonim istilah OR". Misalnya, jika
istilah "scifi" didefinisikan dengan sinonim
"science fiction", kueri
yang berisi kata "scifi" cocok dengan item yang berisi
"scifi"
atau "science fiction."
Penerapan sinonim tidak bersifat dua arah. Jika kuerinya tidak ditujukan untuk "science fiction,", Cloud Search tidak akan menerapkan sinonim apa pun pada kueri tersebut. Kueri hanya cocok dengan item yang berisi "science fiction." Item yang berisi "scifi" akan dihapus.
Agar kedua istilah ini dapat dipertukarkan, tentukan setiap istilah secara terpisah:
Istilah | Sinonim |
---|---|
scifi | science fiction |
science fiction | scifi |
Selama pemrosesan kueri, tanda hubung dan tanda baca lainnya akan dihapus sebelum menerapkan sinonim. Kueri pengguna "sci-fi"
cocok dengan _term
"sci fi."
Untuk membuat sinonim untuk istilah yang mungkin ditulis dengan tanda hubung oleh pengguna, pertama-tama normalkan
_term
untuk menggunakan spasi, bukan tanda hubung.
Dengan melanjutkan contoh sebelumnya, definisi berikut cocok dengan kueri pengguna dalam memperlakukan "sci-fi," "sci fi," "scifi," dan "science fiction" sebagai kata yang dapat dipertukarkan:
Istilah | Sinonim |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Secara default, sinonim di sumber data apa pun berlaku di seluruh domain. Secara khusus, sinonim diterapkan di seluruh aplikasi penelusuran untuk semua penelusuran, terlepas dari sumber datanya. Jika Anda menginginkan sinonim khusus sumber data, lihat artikel Menentukan sinonim khusus sumber data.
Menentukan sinonim global menggunakan Cloud Search SDK
Anda dapat menggunakan SDK Konektor Konten untuk menentukan istilah dan sinonimnya. Lihat Membuat konektor konten untuk mengetahui petunjuk tentang cara membuat konektor.
Cuplikan berikut menggambarkan pembuatan
RepositoryDoc
yang mewakili istilah dan sinonim berdasarkan catatan file CSV:
Perhatikan hal-hal berikut saat menentukan sinonim:
- Entri sinonim harus menjadi publik domain. Pada contoh sebelumnya, hal tersebut dilakukan dengan menetapkan ACL ke
DOMAIN_PUBLIC_ACL
. - Properti berikut tidak boleh ditentukan untuk file konfigurasi Anda karena akan mengganti setelan publik domain pada kode Anda:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Menentukan sinonim khusus aplikasi penelusuran
Secara default, sinonim diterapkan ke semua sumber data di semua aplikasi penelusuran.
Namun, misalnya organisasi Anda memiliki tim engineering dan penjualan yang terpisah, dan
Anda ingin memberikan pengalaman penelusuran yang berbeda kepada setiap tim, termasuk
sinonim khusus peran pekerjaan. Dalam hal ini, Anda dapat membuat satu aplikasi penelusuran dengan sinonim dan sumber data khusus engineering, serta aplikasi penelusuran lain dengan sinonim dan sumber data khusus penjualan. Untuk mencapai
tujuan ini, indeks setiap sinonim di sumber data tertentu
menggunakan _onlyApplicableForAttachedSearchApplications=true
. Setelan ini
membatasi sinonim sehingga hanya diterapkan ke aplikasi penelusuran
yang menyertakan sumber data tertentu.
Misalnya, menambahkan baris kode berikut ke contoh kode sebelumnya akan memastikan sinonim yang diindeks bersifat spesifik per sumber data:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);