Alibaba Cloud Elasticsearch memungkinkan Anda menggunakan filter untuk mengonfigurasi sinonim. Filter ini mendukung dua format sinonim: Solr dan WordNet.
Contoh Konfigurasi
PUT /test_index
{
"settings": {
"index" : {
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms_path" : "analysis/synonym.txt",
"tokenizer" : "whitespace"
}
}
}
}
}
}
Dalam contoh ini, sebuah synonym filter yang berisi jalur file kamus sinonim analysis/synonym.txt dikonfigurasi di dalam filter. Jalur ini menunjukkan lokasi konfigurasi. Untuk informasi lebih lanjut tentang parameter, lihat Synonym Token Filter di dokumentasi Elasticsearch open-source.
Sinonim Solr
Contoh konfigurasi:
# Baris kosong dan baris yang dimulai dengan tanda pagar adalah komentar.
# Pemetaan eksplisit cocok dengan urutan token apa pun di sisi kiri "=>"
# dan menggantinya dengan semua alternatif di sisi kanan. Jenis pemetaan ini
# mengabaikan parameter expand dalam skema.
# Contoh:
i-pod, i pod => ipod,
sea biscuit, sea biscit => seabiscuit
# Sinonim setara dapat dipisahkan dengan koma dan tidak memberikan
# pemetaan eksplisit. Dalam hal ini perilaku pemetaan akan
# diambil dari parameter expand dalam skema. Ini memungkinkan
# file sinonim yang sama digunakan dalam strategi penanganan sinonim yang berbeda.
# Contoh:
ipod, i-pod, i pod
foozball , foosball
universe , cosmos
lol, laughing out loud
# Jika expand==true, "ipod, i-pod, i pod" setara
# dengan pemetaan eksplisit:
ipod, i-pod, i pod => ipod, i-pod, i pod
# Jika expand==false, "ipod, i-pod, i pod" setara
# dengan pemetaan eksplisit:
ipod, i-pod, i pod => ipod
# Beberapa entri pemetaan sinonim digabungkan.
foo => foo bar
foo => baz
# setara dengan
foo => foo bar, baz
Anda juga dapat mendefinisikan sinonim langsung di dalam filter dengan menggunakan
synonyms alih-alih synonyms_path. Contoh kode adalah sebagai berikut:
PUT /test_index
{
"settings": {
"index" : {
"analysis" : {
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms" : [
"i-pod, i pod => ipod",
"begin, start"
]
}
}
}
}
}
}
null Kami merekomendasikan penggunaan
synonyms_path untuk mendefinisikan set sinonim besar di dalam file.Sinonim WordNet
Contoh konfigurasi:
PUT /test_index
{
"settings": {
"index" : {
"analysis" : {
"filter" : {
"synonym" : {
"type" : "synonym",
"format" : "wordnet",
"synonyms" : [
"s(100000001,1,'abstain',v,1,0).",
"s(100000001,2,'refrain',v,1,0).",
"s(100000001,3,'desist',v,1,0)."
]
}
}
}
}
}
}
Contoh ini menggunakan synonyms untuk mendefinisikan sinonim WordNet. Anda juga dapat menggunakan synonyms_path untuk mendefinisikan sinonim WordNet.