全部产品
Search
文档中心

Elasticsearch:Gunakan plug-in analysis-ik

更新时间:Nov 10, 2025

Plug-in analysis-ik adalah ekstensi tokenisasi bahasa Tiongkok untuk Alibaba Cloud Elasticsearch (ES). Plug-in ini mencakup beberapa kamus bawaan default yang dapat langsung digunakan. Anda juga dapat memperbarui kamus tersebut untuk menyesuaikan kamus default plug-in analysis-ik atau menambahkan kamus baru. Proses ini mengoptimalkan tokenisasi agar hasilnya lebih sesuai dengan skenario Anda. Plug-in analysis-ik mendukung pemuatan dinamis file kamus dari Object Storage Service (OSS) guna memungkinkan manajemen jarak jauh dan meningkatkan efisiensi operasional. Topik ini menjelaskan aturan tokenisasi dan jenis kamus pada plug-in analysis-ik, serta cara memperbarui kamus dan menggunakan plug-in tersebut.

Informasi latar belakang

Plug-in analysis-ik terdiri dari tiga komponen utama: pemisah kata (tokenizer), file kamus, dan mekanisme pembaruan kamus.

  • Pemisah kata: Memisahkan teks bahasa Tiongkok menjadi kata-kata bermakna (token) dan menentukan tingkat granularitas tokenisasi.

  • File kamus: Menyediakan basis kosakata yang digunakan oleh pemisah kata untuk melakukan tokenisasi. File-file ini mendukung ekstensi dan kustomisasi.

  • Metode pembaruan kamus: Mendukung pembaruan dingin dan panas, sehingga memungkinkan Anda menyesuaikan kamus secara fleksibel sesuai kebutuhan bisnis untuk memastikan tokenisasi memenuhi persyaratan Anda.

Aturan tokenisasi

Plug-in analysis-ik mendukung aturan tokenisasi berikut:

  • ik_max_word: Memisahkan teks dengan granularitas paling detail, sehingga cocok untuk kueri kata kunci.

  • ik_smart: Pemisah kata yang membagi teks dengan granularitas kasar, sehingga cocok untuk kueri frasa.

Jenis kamus

Tabel berikut menjelaskan jenis kamus yang didukung oleh plug-in analysis-ik.

Jenis kamus

Deskripsi

Persyaratan file kamus

Metode pembaruan yang didukung

Kamus utama

Kamus utama bawaan default adalah main.dic, yang berisi lebih dari 270.000 kata bahasa Tiongkok.

Jika Anda menentukan kamus utama saat membuat indeks ES, kluster akan mencocokkan data yang ditulis ke indeks dengan kata-kata dalam kamus utama. Kluster kemudian membuat indeks untuk kata-kata yang cocok. Anda dapat mengambil indeks tersebut menggunakan kata kunci yang sesuai.

Satu kata per baris, disimpan sebagai file DIC berkode UTF-8.

Kamus stopword

Kamus stopword bawaan default adalah stopword.dic. Kamus ini berisi stopword bahasa Inggris, seperti a, the, and, at, dan but.

Jika Anda menentukan kamus stopword saat membuat indeks ES, kluster akan mencocokkan data yang ditulis ke indeks dengan kata-kata dalam kamus stopword. Kata-kata yang cocok akan difilter dan tidak muncul dalam indeks terbalik.

Kamus preposisi

Kamus preposisi bawaan default adalah preposition.dic. Kamus ini menyimpan preposisi untuk membantu pemisah kata memisahkan preposisi dari kata berikutnya.

Tidak berlaku

Pembaruan dingin

Kamus kuantifier

Kamus kuantifier bawaan default adalah quantifier.dic. Kamus ini menyimpan kata-kata terkait satuan dan kuantifier untuk membantu pemisah kata mengenali kombinasi kuantifier dan kata benda.

suffix.dic

Menyimpan sufiks untuk membantu pemisah kata memisahkan kata yang memiliki sufiks.

Tidak berlaku

Pembaruan tidak didukung.

surname.dic

Menyimpan nama keluarga Tiongkok untuk membantu pemisah kata mengenali nama orang.

Metode pembaruan kamus

Jika kamus default tidak memenuhi kebutuhan bisnis Anda, Anda dapat memperbaruinya. Plug-in analysis-ik mendukung metode pembaruan kamus berikut.

Metode pembaruan

Deskripsi

Skenario

Pembaruan dingin

Perubahan kamus diterapkan dengan me-restart kluster ES. Metode ini memperbarui kamus untuk seluruh kluster.

Sistem mengirimkan file kamus yang diunggah ke node-node ES, lalu me-restart node tersebut untuk memuat file. Setelah restart, konfigurasi baru berlaku.

  • Mengganti file kamus default atau menghapus konten dari file kamus default.

  • Memperbarui file kamus preposisi atau kuantifier.

Pembaruan panas

  • Jika hanya konten kamus yang ada berubah, restart kluster tidak dipicu. Kluster langsung memuat kamus baru selama waktu proses untuk menerapkan pembaruan dinamis.

  • Jika nama kamus yang ada atau daftar file kamus berubah (yaitu, file ditambahkan atau dihapus), restart kluster dipicu untuk memuat ulang konfigurasi kamus. Setelah restart, konfigurasi baru berlaku.

Catatan

Hanya kamus utama dan stopword yang dapat diubah.

  • Memperluas file kamus utama atau stopword. Artinya, Anda perlu menambahkan kamus ekstensi lain selain kamus utama atau stopword default.

  • Mengubah konten file kamus utama atau stopword yang sudah ada, termasuk kamus default dan ekstensi.

Prasyarat

  • Pastikan instans berada dalam status Normal. Anda dapat melihat status instans di halaman Informasi Dasar instans.

    Catatan

    Operasi dalam topik ini didemonstrasikan pada instans Alibaba Cloud ES versi 7.10.0. Antarmuka konsol dan fitur yang didukung mungkin berbeda untuk versi yang berbeda. Gunakan antarmuka konsol aktual yang berlaku.

  • (Opsional) Untuk memperbarui kamus, Anda harus menyelesaikan langkah-langkah berikut.

    • Untuk memperbarui kamus menggunakan metode Upload OSS File, Anda harus terlebih dahulu membuat bucket OSS dan mengunggah file kamus yang diperlukan.

    • Untuk memperbarui menggunakan metode Upload Local File, simpan terlebih dahulu file kamus yang diperlukan ke komputer Anda.

Perbarui kamus IK

Jika kamus IK default tidak memenuhi kebutuhan bisnis Anda, Anda dapat memperbaruinya. Sebelum memperbarui, pahami terlebih dahulu metode pembaruan yang sesuai. Untuk indeks yang dikonfigurasi dengan tokenisasi IK, kamus yang diperbarui hanya berlaku untuk data baru, yaitu data yang baru ditambahkan dan diperbarui. Jika Anda ingin pembaruan berlaku untuk semua data, Anda harus membuat ulang indeks tersebut.

Pembaruan dingin

Untuk melakukan pembaruan dingin pada kamus IK, ikuti langkah-langkah berikut:

Peringatan

Pembaruan standar memicu restart kluster. Untuk memastikan bisnis Anda tidak terganggu, kami menyarankan Anda melakukan pembaruan pada jam-jam non-sibuk.

  1. Buka halaman pembaruan dingin untuk plug-in analysis-ik.

    1. Di panel navigasi kiri, pilih Configuration and Management > Plug-in Configuration.

    2. Di tab Built-in Plug-ins, temukan plug-in analysis-ik, lalu klik Standard Update di kolom Actions.

  2. Lakukan pembaruan dingin.

    1. Di kotak dialog IK Dictionary Configuration - Cold Update, temukan kamus yang ingin Anda perbarui dan klik Edit. Ikuti petunjuk di layar untuk mengunggah file kamus dan klik Save.

      Anda dapat mengunggah file kamus dengan salah satu cara berikut:

      • Upload Local File: Klik ikon image atau seret file lokal untuk mengunggah.

      • Upload OSS File: Masukkan nama bucket dan nama file kamus. Lalu, klik Add.

        • Bucket dan instans Alibaba Cloud ES harus berada di wilayah yang sama.

        • Sinkronisasi otomatis file kamus di OSS tidak didukung. Jika konten file kamus sumber di OSS berubah, Anda harus secara manual melakukan pembaruan kamus IK untuk menerapkan perubahan tersebut.

      Catatan
    2. Untuk me-restart instans, centang kotak notifikasi risiko dan klik OK.

      Setelah instans ES me-restart, file kamus diperbarui.

  3. (Opsional) Verifikasi bahwa kamus telah berlaku.

    1. Masuk ke konsol Kibana.

    2. Klik ikon image di pojok kiri atas dan pilih Management > Dev Tools untuk membuka halaman Editor Kode.

      Sebagai contoh, jalankan kode berikut untuk membagi teks input metode input karakter Tiongkok komputer pada tingkat granularitas kasar.

      Catatan

      Saat menggunakan kode ini, ganti text dengan kata dari kamus Anda.

      GET _analyze
      {
        "analyzer": "ik_smart",
        "text": "metode input karakter Tiongkok komputer"
      }

      Hasil yang diharapkan adalah sebagai berikut.

      {
        "tokens" : [
          {
            "token" : "komputer",
            "start_offset" : 0,
            "end_offset" : 3,
            "type" : "CN_WORD",
            "position" : 0
          },
          {
            "token" : "input karakter Tiongkok",
            "start_offset" : 3,
            "end_offset" : 7,
            "type" : "CN_WORD",
            "position" : 1
          },
          {
            "token" : "metode",
            "start_offset" : 7,
            "end_offset" : 9,
            "type" : "CN_WORD",
            "position" : 2
          }
        ]
      }

Hot update

Untuk melakukan pembaruan panas pada kamus IK, ikuti langkah-langkah berikut:

Catatan

Restart kluster tidak diperlukan jika hanya konten file yang berubah. Jika Anda mengubah jumlah file atau nama file, kluster harus di-restart. Untuk menghindari gangguan bisnis, lakukan operasi ini pada jam-jam non-sibuk. Setelah restart, kamus akan berlaku secara otomatis.

  1. Buka halaman pembaruan panas untuk plug-in analysis-ik.

    1. Di panel navigasi kiri, pilih Configuration and Management > Plug-in Configuration.

    2. Di tab Built-in Plug-ins, di kolom Actions untuk plug-in analysis-ik, klik Rolling Update.

  2. Lakukan pembaruan panas.

    1. Di kotak dialog IK Dictionary Configuration - Hot Update, klik Edit untuk kamus target. Ikuti petunjuk di layar untuk mengunggah file kamus dan klik Save.

      Anda dapat mengunggah file kamus dengan salah satu cara berikut:

      • Upload Local File: Klik ikon image atau seret file lokal untuk mengunggah.

      • Upload OSS File: Masukkan nama bucket dan nama file kamus. Lalu, klik Add.

        • Bucket dan instans Alibaba Cloud ES harus berada di wilayah yang sama.

        • Sinkronisasi otomatis file kamus di OSS tidak didukung. Jika konten file kamus sumber di OSS berubah, Anda harus secara manual melakukan pembaruan kamus IK untuk menerapkan perubahan tersebut.

      Catatan
      • Anda dapat mengunggah beberapa file kamus. Ekstensi file harus berupa .dic. Nama file dapat berisi huruf besar, huruf kecil, angka, dan garis bawah (_), serta panjangnya tidak boleh lebih dari 30 karakter.

      • Untuk memodifikasi file kamus yang telah diunggah, klik ikon 下载按钮 di sebelah kanan file untuk mengunduh dan memodifikasinya. Kemudian, hapus file asli dan unggah versi yang telah dimodifikasi. Anda harus mengklik Save setelah menghapus file asli. Jika tidak, Anda akan menerima pesan kesalahan bahwa file dengan nama yang sama sudah ada saat mencoba mengunggah file yang telah dimodifikasi.

    2. Klik OK dan tunggu hingga kamus dimuat di node-node ES.

      Plug-in pada node Alibaba Cloud ES dapat memuat file kamus secara otomatis, tetapi waktu yang dibutuhkan setiap node untuk mengambil file tersebut bervariasi. Setelah file dimuat, kamus akan berlaku. Proses ini mungkin memerlukan waktu tertentu.

  3. (Opsional) Verifikasi bahwa kamus telah berlaku.

    1. Masuk ke konsol Kibana.

    2. Klik ikon image di pojok kiri atas dan pilih Management > Dev Tools untuk membuka halaman Editor Kode.

      Sebagai contoh, jalankan kode berikut untuk membagi teks input metode input karakter Tiongkok komputer pada tingkat granularitas kasar.

      Catatan

      Saat menggunakan kode ini, ganti text dengan kata dari kamus Anda.

      GET _analyze
      {
        "analyzer": "ik_smart",
        "text": "metode input karakter Tiongkok komputer"
      }

      Hasil yang diharapkan adalah sebagai berikut.

      {
        "tokens" : [
          {
            "token" : "komputer",
            "start_offset" : 0,
            "end_offset" : 3,
            "type" : "CN_WORD",
            "position" : 0
          },
          {
            "token" : "input karakter Tiongkok",
            "start_offset" : 3,
            "end_offset" : 7,
            "type" : "CN_WORD",
            "position" : 1
          },
          {
            "token" : "metode",
            "start_offset" : 7,
            "end_offset" : 9,
            "type" : "CN_WORD",
            "position" : 2
          }
        ]
      }

Gunakan plug-in analysis-ik

Contoh ini menunjukkan cara menggunakan tokenizer IK dan filter Pinyin untuk melakukan tokenisasi teks tertentu.

  1. Buka halaman Kibana Dev Tools dari instans ES.

    1. Masuk ke konsol Kibana.

    2. Klik ikon image di pojok kiri atas dan pilih Management > Dev Tools untuk membuka editor kode.

  2. Buat indeks dan konfigurasikan tokenizer IK serta filter Pinyin.

    Di halaman Dev Tools, jalankan perintah berikut untuk membuat indeks ik_pinyin dan alat analisis kustom bernama ik_pinyin_analyzer. Alat analisis ini menggunakan aturan tokenisasi detail halus ik_max_word dan filter Pinyin untuk mengonversi kata bahasa Tiongkok menjadi Pinyin.

    Catatan

    Filter Pinyin dijalankan setelah tokenisasi bahasa Tiongkok selesai. Filter ini pertama-tama melakukan tokenisasi teks bahasa Tiongkok, lalu mengonversi hasil tokenisasi menjadi Pinyin untuk ditampilkan.

    PUT ik_pinyin
    {
      "settings":{
        "analysis": {
          "filter": {
            "my_pinyin" : {
                "type" : "pinyin",
                "keep_separate_first_letter" : false,
                "keep_full_pinyin" : true,
                "keep_original" : true,
                "limit_first_letter_length" : 16,
                "lowercase" : true,
                "remove_duplicated_term" : true
              }
          },
          "analyzer": {
            "ik_pinyin_analyzer": {
              "type": "custom",
              "tokenizer": "ik_max_word",
              "filter": ["my_pinyin"]
            }
          }
        }
      },
      "mappings":{
        "properties":{
          "text":{
            "type" : "text",
            "analyzer" : "ik_pinyin_analyzer"
          }
        }
      }
    }

    Parameter inti dijelaskan sebagai berikut:

    • Filter Pinyin (filter)

      Catatan

      Untuk informasi lebih lanjut tentang konfigurasi plug-in analisis Pinyin, lihat Analisis Pinyin untuk Elasticsearch.

      Parameter

      Deskripsi

      my_pinyin

      Nama filter Pinyin yang Anda definisikan.

      type

      Diatur ke pinyin untuk menentukan filter Pinyin.

      keep_separate_first_letter

      Diatur ke false agar tidak menyimpan huruf pertama dari setiap karakter.

      keep_full_pinyin

      Diatur ke true agar menyimpan Pinyin lengkap.

      keep_original

      Diatur ke true agar menyimpan teks input asli.

      limit_first_letter_length

      Diatur ke 16 untuk membatasi panjang huruf pertama maksimal 16 karakter.

      lowercase

      Diatur ke true agar menggunakan huruf kecil untuk output Pinyin.

      remove_duplicated_term

      Diatur ke true agar menghapus istilah duplikat. Misalnya, ini menghindari hasil seperti "zh, zh".

    • Alat Analisis (analyzer):

      Parameter

      Deskripsi

      ik_pinyin_analyzer

      Nama alat analisis yang Anda definisikan.

      type

      Diatur ke custom untuk menentukan alat analisis kustom.

      tokenizer

      Diatur ke ik_max_word untuk membagi teks dengan granularitas paling detail.

      filter

      Diatur ke my_pinyin untuk memanggil filter Pinyin my_pinyin.

      Hasil berikut dikembalikan, yang menunjukkan bahwa indeks berhasil dibuat.image

  3. Verifikasi hasil tokenisasi.

    Anda dapat menjalankan kode berikut untuk melakukan tokenisasi teks input Ini adalah tes.

    GET ik_pinyin/_analyze
    {
      "text": "Ini adalah tes",
      "analyzer": "ik_pinyin_analyzer"
    }

    Hasil yang diharapkan adalah sebagai berikut.

    {
      "tokens" : [
        {
          "token" : "zhe",
          "start_offset" : 0,
          "end_offset" : 2,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "This is",
          "start_offset" : 0,
          "end_offset" : 2,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "zs",
          "start_offset" : 0,
          "end_offset" : 2,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "shi",
          "start_offset" : 0,
          "end_offset" : 2,
          "type" : "CN_WORD",
          "position" : 1
        },
        {
          "token" : "ge",
          "start_offset" : 2,
          "end_offset" : 3,
          "type" : "CN_CHAR",
          "position" : 2
        },
        {
          "token" : "a",
          "start_offset" : 2,
          "end_offset" : 3,
          "type" : "CN_CHAR",
          "position" : 2
        },
        {
          "token" : "g",
          "start_offset" : 2,
          "end_offset" : 3,
          "type" : "CN_CHAR",
          "position" : 2
        },
        {
          "token" : "ce",
          "start_offset" : 3,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 3
        },
        {
          "token" : "shi",
          "start_offset" : 3,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 4
        },
        {
          "token" : "test",
          "start_offset" : 3,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 4
        },
        {
          "token" : "cs",
          "start_offset" : 3,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 4
        }
      ]
    }
    

Referensi