All Products
Search
Document Center

Elasticsearch:Gunakan plugin analysis-aliws

Last Updated:Aug 08, 2026

Plugin tokenisasi AliNLP, juga dikenal sebagai analysis-aliws, merupakan plugin bawaan Alibaba Cloud Elasticsearch. Setelah Anda menginstal plugin ini pada kluster Elasticsearch Anda, sebuah alat analisis (analyzer) dan pemisah kata (tokenizer) diintegrasikan ke dalam kluster untuk menerapkan analisis dan pengambilan dokumen. Plugin ini memungkinkan Anda mengunggah file kamus khusus. Setelah diunggah, sistem akan melakukan rolling update pada kluster Elasticsearch agar file kamus tersebut berlaku.

Pendahuluan

Setelah plugin analysis-aliws diinstal, analyzer dan tokenizer berikut secara default diintegrasikan ke dalam kluster Elasticsearch Anda. Anda dapat menggunakan keduanya untuk mencari dokumen serta mengunggah file kamus khusus ke plugin ini.

  • Analyzer: Analyzer aliws mempertahankan kata fungsi, frasa, dan simbol, serta mengonversi semua karakter alfabet Inggris kapital menjadi huruf kecil.

  • Tokenizer: aliws_tokenizer

Catatan

Prasyarat

Plugin analysis-aliws harus sudah diinstal. Plugin ini tidak diinstal secara default. Untuk informasi lebih lanjut tentang cara menginstal plugin, lihat Instal dan hapus plugin bawaan.

Menginstal atau menguninstall plugin analysis-aliws akan memicu restart bergulir (rolling restart) pada kluster. Node akan direstart satu per satu, dan status kluster berubah dari hijau ke kuning selama proses restart. Kluster tetap tersedia selama proses ini, tetapi beban pada node sehat yang tersisa meningkat dan kinerja mungkin terpengaruh. Kami menyarankan Anda melakukan operasi ini pada jam sepi.

Batasan

  • Ukuran memori node data pada kluster Elasticsearch Anda harus 8 GiB atau lebih. Jika ukuran memori node data pada kluster Anda tidak memenuhi persyaratan, lakukan peningkatan konfigurasi kluster Anda. Untuk informasi lebih lanjut, lihat Tingkatkan konfigurasi kluster.

  • Kluster Elasticsearch V5.X, kluster Elasticsearch V8.X, dan kluster Elasticsearch Edisi Kernel-enhanced tidak mendukung plugin analysis-aliws. Anda dapat memeriksa apakah kluster Anda mendukung plugin ini di Konsol Elasticsearch.

Gunakan analyzer aliws untuk mencari dokumen

  1. Masuk ke Konsol Kibana kluster Elasticsearch Anda.

    Untuk petunjuknya, lihat Masuk ke Konsol Kibana.

    Catatan

    Contoh di sini menggunakan Elasticsearch V6.7.0. Operasi mungkin sedikit berbeda untuk versi lainnya.

  2. Pada bilah navigasi kiri, pilih Management > Dev Tools.

  3. Di Console, jalankan salah satu perintah berikut untuk membuat indeks.

    • Perintah untuk kluster Elasticsearch versi sebelum V7.0

      PUT /index
      {
         "mappings": {
              "fulltext": {
                  "properties": {
                      "content": {
                          "type": "text",
                          "analyzer": "aliws"
                      }
                  }
              }
          }
      }
    • Perintah untuk kluster Elasticsearch V7.0 atau yang lebih baru

      PUT /index
      {
        "mappings": {
          "properties": {
              "content": {
                  "type": "text",
                  "analyzer": "aliws"
                }
            }
        }
      }

    Dalam contoh ini, dibuat indeks bernama index. Pada versi sebelum V7.0, tipe indeks adalah fulltext. Pada V7.0 atau yang lebih baru, tipe indeks adalah _doc. Indeks berisi properti content dengan tipe text, dan analyzer aliws ditambahkan ke indeks tersebut.

    Jika perintah berhasil dijalankan, hasil berikut dikembalikan:

    {
      "acknowledged": true,
      "shards_acknowledged": true,
      "index": "index"
    }
  4. Jalankan perintah berikut untuk menambahkan dokumen:

    Penting

    Perintah berikut hanya berlaku untuk kluster Elasticsearch versi sebelum V7.0. Untuk kluster Elasticsearch V7.0 atau yang lebih baru, Anda harus mengganti fulltext dengan _doc.

    POST /index/fulltext/1
    {
      "content": "I like go to school."
    }

    Perintah di atas menambahkan dokumen bernama 1 dan mengatur nilai bidang content menjadi I like go to school.

    Jika perintah berhasil dijalankan, hasil berikut dikembalikan:

    {
      "_index": "index",
      "_type": "fulltext",
      "_id": "1",
      "_version": 1,
      "result": "created",
      "_shards": {
        "total": 2,
        "successful": 2,
        "failed": 0
      },
      "_seq_no": 0,
      "_primary_term": 1
    }
  5. Jalankan perintah berikut untuk mencari dokumen:

    Penting

    Perintah berikut hanya berlaku untuk kluster Elasticsearch versi sebelum V7.0. Untuk kluster Elasticsearch V7.0 atau yang lebih baru, Anda harus mengganti fulltext dengan _doc.

    GET /index/fulltext/_search
    {
      "query": {
        "match": {
          "content": "school"
        }
      }
    }

    Perintah di atas menggunakan analyzer aliws untuk menganalisis semua dokumen bertipe fulltext dan mengembalikan dokumen yang memiliki kata school pada bidang content.

    Jika perintah berhasil dijalankan, hasil berikut dikembalikan:

    {
      "took": 5,
      "timed_out": false,
      "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
      },
      "hits": {
        "total": 1,
        "max_score": 0.2876821,
        "hits": [
          {
            "_index": "index",
            "_type": "fulltext",
            "_id": "2",
            "_score": 0.2876821,
            "_source": {
              "content": "I like go to school."
            }
          }
        ]
      }
    }
Catatan

Jika hasil yang Anda peroleh tidak sesuai ekspektasi saat menggunakan plugin analysis-aliws, lakukan pemecahan masalah berdasarkan petunjuk dalam Uji analyzer dan Uji tokenizer.

Konfigurasi kamus

Plugin analysis-aliws memungkinkan Anda mengunggah file kamus khusus bernama aliws_ext_dict.txt. Setelah Anda mengunggah file kamus khusus, semua node dalam kluster Elasticsearch akan memuat file tersebut secara otomatis tanpa memerlukan restart kluster.

Catatan
  • Setelah plugin analysis-aliws diinstal, tidak tersedia file kamus. Anda harus mengunggah file kamus khusus secara manual.

  • Sebelum mengunggah file kamus khusus, pastikan file tersebut memenuhi persyaratan berikut:

    • Nama: aliws_ext_dict.txt.

    • Format encoding: UTF-8.

    • Isi: Setiap baris harus berisi satu kata tanpa spasi di awal atau akhir. Gunakan akhir baris UNIX atau Linux (karakter newline, \n). Jika file dibuat di Windows, Anda harus mengonversinya menggunakan tool seperti dos2unix pada mesin Linux sebelum mengunggahnya.

  1. Masuk ke Konsol Alibaba Cloud Elasticsearch.

  2. Pada bilah navigasi kiri, pilih Elasticsearch Clusters.

  3. Arahkan ke kluster target.

    1. Pada bilah navigasi atas, pilih kelompok sumber daya tempat kluster berada dan wilayah tempat kluster tersebut berlokasi.

    2. Pada halaman Elasticsearch Clusters, temukan kluster tersebut dan klik ID-nya.

  4. Pada panel navigasi kiri, pilih Configuration and Management > Plug-ins.

  5. Pada tab Built-in Plug-ins, temukan plugin analysis-aliws dan klik Configure Dictionary pada kolom Actions.

  6. Di bagian bawah panel Configure Dictionary, klik Configure.

  7. Pilih metode untuk mengunggah file kamus, lalu unggah file tersebut sesuai petunjuk berikut.

    • TXT File: Klik Upload TXT File dan pilih file kamus dari mesin lokal Anda.

    • Add OSS File: Masukkan nama Bucket dan nama Object, lalu klik Add.

      Pastikan bucket yang Anda tentukan berada di wilayah yang sama dengan kluster Elasticsearch. Jika isi kamus yang disimpan di Object Storage Service (OSS) berubah, Anda harus mengunggah ulang file kamus tersebut.

    Catatan

    analysis-aliws hanya memungkinkan Anda mengunggah satu file kamus. Jika ingin memperbarui file kamus, klik tombol x di samping nama file kamus aliws_ext_dict.txt untuk menghapus file tersebut, lalu unggah file kamus baru.

  8. Klik Save.

    Sistem tidak akan merestart kluster Anda, tetapi akan melakukan rolling update agar file kamus yang diunggah berlaku. Proses pembaruan memerlukan waktu sekitar 10 menit.

    Catatan

    Jika ingin mengunduh file kamus yang telah diunggah, klik ikon 下载按钮 yang sesuai dengan file tersebut.

Uji analyzer

Jalankan perintah berikut untuk menguji analyzer aliws:

GET _analyze
{
  "text": "I like go to school.",
  "analyzer": "aliws"
}

Jika perintah berhasil dijalankan, hasil berikut dikembalikan:

{
  "tokens" : [
    {
      "token" : "i",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "like",
      "start_offset" : 2,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "go",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "school",
      "start_offset" : 13,
      "end_offset" : 19,
      "type" : "word",
      "position" : 8
    }
  ]
}

Uji tokenizer

Jalankan perintah berikut untuk menguji tokenizer aliws_tokenizer:

GET _analyze
{
  "text": "I like go to school.",
  "tokenizer": "aliws_tokenizer"
}

Jika perintah berhasil dijalankan, hasil berikut dikembalikan:

{
  "tokens" : [
    {
      "token" : "I",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : " ",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "like",
      "start_offset" : 2,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : " ",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "go",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : " ",
      "start_offset" : 9,
      "end_offset" : 10,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "to",
      "start_offset" : 10,
      "end_offset" : 12,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : " ",
      "start_offset" : 12,
      "end_offset" : 13,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "school",
      "start_offset" : 13,
      "end_offset" : 19,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : ".",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 9
    }
  ]
}

Sesuaikan tokenizer

  • Setelah plugin analysis-aliws melakukan tokenisasi pada data, filter berikut menjalankan operasi terkait pada data tersebut: stemmer, lowercase, porter_stem, dan stop. Jika Anda ingin menggunakan filter-filter ini untuk tokenizer kustom Anda, tambahkan tokenizer aliws_tokenizer dari plugin analysis-aliws ke tokenizer kustom dan konfigurasikan filter sesuai kebutuhan bisnis Anda. Contoh kode berikut menunjukkan cara melakukannya. Anda dapat menggunakan bidang stopwords untuk mengonfigurasi stopwords.

    PUT my-index-000001
    {
      "settings": {
        "analysis": {
         "filter": {
          "my_stop": {
           "type": "stop",
           "stopwords": [
            " ",
            ",",
            ".",
            " ",
            "a",
            "of"
           ]
          }
         },
         "analyzer": {
          "my_custom_analyzer": {
           "type": "custom",
           "tokenizer": "aliws_tokenizer",
           "filter": [
            "lowercase",
            "porter_stem",
            "my_stop"
           ]
          }
         }
        }
        }
    }
    Catatan

    Jika Anda tidak memerlukan filter tertentu, Anda dapat menghapus konfigurasi filter tersebut.

  • aliws_tokenizer memungkinkan Anda menggunakan sinonim untuk mengonfigurasi tokenizer kustom. Metode konfigurasinya sama dengan yang digunakan untuk plugin analysis-ik. Untuk informasi lebih lanjut, lihat Gunakan sinonim.

FAQ

  • Analyzer aliws mungkin menghapus huruf terakhir dari sebuah kata selama proses tokenisasi. Misalnya, tokenisasi iPhone dan Chinese menghasilkan Iphon dan chines, karena huruf e terakhir dihapus.

    • Penyebab: Analyzer aliws default menerapkan filter stemming setelah tokenisasi, yang menghapus huruf seperti e terakhir dari kata-kata.

    • Solusi: Jalankan perintah berikut, di mana bidang my_custom_analyzer ditentukan dalam bagian konfigurasi analisis dan konfigurasi filter dihapus:

      PUT my-index1
      {
          "settings": {
              "number_of_shards": 1,
              "analysis": {
                  "analyzer": {
                      "my_custom_analyzer": {
                          "type": "custom",
                          "tokenizer": "aliws_tokenizer"
                      }
                  }
              }
          }
      }
    • Verifikasi: Jalankan perintah berikut untuk memeriksa apakah hasil tokenisasi sesuai ekspektasi:

      GET my-index1/_analyze
      {
          "analyzer": "my_custom_analyzer",
          "text": ["iphone"]
      }

Referensi

  • Untuk informasi tentang plugin yang disediakan oleh Alibaba Cloud Elasticsearch, lihat Ikhtisar plugin.

  • Untuk informasi tentang cara memanggil Operasi API untuk menginstal plugin bawaan, lihat InstallSystemPlugin.

  • Untuk informasi tentang cara memanggil Operasi API untuk memperbarui file kamus plugin analysis-aliws, lihat UpdateAliwsDict.

  • Untuk informasi tentang cara memanggil Operasi API untuk mendapatkan plugin yang diinstal pada kluster Elasticsearch, lihat ListPlugins.