全部产品
Search
文档中心

Elasticsearch:Aturan Konfigurasi

更新时间:Jun 24, 2025

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.