Penggunaan Plugin Analisis QQ dalam Elasticsearch 7

Penggunaan Plugin Analisis QQ dalam Elasticsearch 7

Dalam artikel ini, kami akan membahas bagaimana menggunakan plugin analisis QQ (QQ analysis plugin) dalam Elasticsearch 7 untuk menganalisis konten teks. Kami juga akan membahas cara membuat dictionary custom dan menguji analyzer dan tokenizer.

Menginstal Plugin Analisis QQ

Untuk menginstal plugin analisis QQ, Anda perlu menambahkan opsi ?include_type_name=true ketika membuat indeks. Berikut adalah contohnya:

curl -XPUT 'http://localhost:9200/index' -H 'Content-Type: application/json' -d '{"settings": {"analysis": {"analyzer": {"qq_max": {"tokenizer": "standard"}}}}}'

Setelah plugin analisis QQ diinstal, Anda dapat mengetestnya dengan mengirimkan dokumen ke indeks dan menggunakan query match untuk mencari konten yang mengandung kata kunci tertentu.

Mengimport Dokumen

Berikut adalah contoh bagaimana mengimport empat dokumen ke dalam indeks:

curl -XPOST 'http://localhost:9200/index/_doc/1' -H 'Content-Type: application/json' -d '{"content": "I downloaded the Honor of Kings from WeChat"}'
curl -XPOST 'http://localhost:9200/index/_doc/2' -H 'Content-Type: application/json' -d '{"content": "Ministry of Housing and Urban-Rural Development: to complete landscape resource registration of famous towns and villages by the end of September"}'
curl -XPOST 'http://localhost:9200/index/_doc/3' -H 'Content-Type: application/json' -d '{"content": "Latest weather forecast from China Meteorological Administration"}'
curl -XPOST 'http://localhost:9200/index/_doc/4' -H 'Content-Type: application/json' -d '{"content": "I live near ICOMOS China"}'

Setelah dokumen diimport, Anda dapat menggunakan query match untuk mencari konten yang mengandung kata kunci tertentu.

Mencari Dokumen

Berikut adalah contoh bagaimana mencari dokumen ke dalam indeks dengan menggunakan query match dan highlight:

curl -XGET 'http://localhost:9200/index/_search' -H 'Content-Type: application/json' -d '{"query": {"match": {"content": "China"}}, "highlight": {"pre_tags": ["<tag1>", "<tag2>"], "post_tags": ["</tag1>", "</tag2>"], "fields": {"content": {}}}'

Setelah query dijalankan, Anda akan mendapatkan hasil sebagai berikut:

{
 "took" : 108,
 "timed_out" : false,
 "_shards" : {
 "total" : 1,
 "successful" : 1,
 "skipped" : 0,
 "failed" : 0
 },
 "hits" : {
 "total" : {
 "value" : 2,
 "relation" : "eq"
 },
 "max_score" : 0.7199211,
 "hits" : [
 {
 "_index" : "index",
 "_type" : "_doc",
 "_id" : "4",
 "_score" : 0.7199211,
 "_source" : {
 "content" : "I live near ICOMOS China"
 },
 "highlight" : {
 "content" : [
 "I live near ICOMOS <tag1>China</tag1>"
 ]
 }
 },
 {
 "_index" : "index",
 "_type" : "_doc",
 "_id" : "3",
 "_score" : 0.6235748,
 "_source" : {
 "content" : "Latest weather forecast from China Meteorological Administration"
 },
 "highlight" : {
 "content" : [
 "Latest weather forecast from <tag1>China</tag1> Meteorological Administration"
 ]
 }
 }
 ]
 }
}

Membuat Dictionary Custom

Plugin analisis QQ memungkinkan Anda untuk membuat dictionary custom. Untuk melakukan ini, Anda perlu upload file dictionary ke Elasticsearch. Berikut adalah contoh bagaimana membuat dictionary custom:

  1. Login to the ES console and click a cluster ID/name on the cluster list page.
  2. Click Plugin List to enter the plugin list management page.
  3. Find the QQ analysis plugin (analysis-qq) and click Update Dictionary on the right.
  4. The dictionary file must meet the following requirements:
  • File format: JSON
  • Content: A list of words with their corresponding weights

Berikut adalah contoh bagaimana membuat dictionary custom:

{
 "dictionary": [
 {"word": "China", "weight": 1.0},
 {"word": "weather", "weight": 0.5},
 {"word": "forecast", "weight": 0.2}
 ]
}

Menguji Analyzer dan Tokenizer

Setelah dictionary custom dibuat, Anda dapat menguji analyzer dan tokenizer dengan mengirimkan dokumen ke indeks dan menggunakan query match untuk mencari konten yang mengandung kata kunci tertentu.

Dalam artikel ini, kami telah membahas bagaimana menggunakan plugin analisis QQ dalam Elasticsearch 7 untuk menganalisis konten teks. Kami juga telah membahas cara membuat dictionary custom dan menguji analyzer dan tokenizer.

Leave a comment