全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Penganalisis Pencarian

更新时间:Jun 27, 2025

Penganalisis digunakan untuk memproses dan membagi dokumen menjadi kata-kata yang dapat disimpan dalam indeks. Anda dapat menggunakan penganalisis bawaan dari TairSearch atau membuat penganalisis kustom sesuai kebutuhan. Topik ini menjelaskan cara menggunakan penganalisis TairSearch.

Navigasi

Penganalisis bawaan

Filter karakter

Pemisah kata

Filter token

Alur kerja penganalisis TairSearch

Penganalisis TairSearch terdiri dari filter karakter, pemisah kata, dan filter token yang diterapkan secara berurutan. Filter karakter dan filter token bersifat opsional. 分词器工作流程Deskripsi:

  • Filter karakter: Memproses dokumen sebelumnya. Anda dapat mengonfigurasi nol atau lebih filter karakter yang dijalankan dalam urutan tertentu untuk penganalisis TairSearch. Sebagai contoh, filter karakter dapat mengganti "(:" dengan "bahagia".

  • Pemisah kata: Membagi dokumen menjadi beberapa token. Anda hanya dapat menentukan satu pemisah kata untuk setiap penganalisis TairSearch. Sebagai contoh, pemisah kata spasi putih dapat membagi "Saya sangat bahagia" menjadi ["Saya", "sangat", "bahagia"].

  • Filter token: Memproses token yang dihasilkan oleh pemisah kata yang ditentukan. Anda dapat mengonfigurasi nol atau lebih filter token yang dijalankan dalam urutan tertentu untuk penganalisis TairSearch. Sebagai contoh, filter token stop dapat menyaring kata-kata stop.

Penganalisis bawaan

Standar

Penganalisis standar membagi dokumen berdasarkan algoritma Segmentasi Teks Unicode, seperti yang ditentukan dalam Unicode Standard Annex #29, mengubah token menjadi huruf kecil, dan menyaring kata-kata stop. Penganalisis ini bekerja dengan baik untuk sebagian besar bahasa.

Komponen:

Catatan

Tidak adanya filter karakter menunjukkan bahwa tidak ada filter karakter yang tersedia.

Parameter Opsional:

  • stopwords: Kata-kata stop yang akan difilter. Tipe data: ARRAY. Setiap kata stop harus berupa string. Jika parameter ini ditentukan, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]
  • max_token_length: Jumlah maksimum karakter yang diizinkan untuk sebuah token. Nilai default: 255. Token yang melebihi panjang maksimum akan dibagi berdasarkan panjang maksimum yang ditentukan.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"standard"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_analyzer":{
          "type":"standard",
          "max_token_length":10,
          "stopwords":[
            "memory",
            "disk",
            "is",
            "a"
          ]
        }
      }
    }
  }
}

Stop

Penganalisis stop membagi dokumen menjadi token pada karakter non-huruf apa pun, mengubah token menjadi huruf kecil, dan menyaring kata-kata stop.

Komponen:

Parameter Opsional:

  • stopwords: Kata-kata stop yang akan difilter. Tipe data: ARRAY. Setiap kata stop harus berupa string. Jika parameter ini ditentukan, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"stop"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_analyzer":{
          "type":"stop",
          "stopwords":[
            "memory",
            "disk",
            "is",
            "a"
          ]
        }
      }
    }
  }
}

Jieba

Penganalisis jieba direkomendasikan untuk dokumen dalam bahasa Cina. Ini membagi dokumen berdasarkan kamus yang telah dilatih atau ditentukan, mengubah token bahasa Inggris menjadi huruf kecil, dan menyaring kata-kata stop.

Komponen:

Parameter Opsional:

  • userwords: Kamus kata-kata pengguna. Tipe data: ARRAY. Setiap kata harus berupa string. Jika parameter ini ditentukan, kata-kata pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Default Jieba.

    Penting
    • Penganalisis jieba memiliki kamus bawaan berukuran besar (20 MB). Hanya satu salinan kamus ini yang disimpan di memori jieba. Kamus ini dimuat saat jieba digunakan untuk pertama kali, yang dapat menyebabkan sedikit jitter dalam latensi.

    • Kata-kata dalam kamus kustom tidak boleh mengandung spasi atau karakter khusus berikut: \t, \n, , dan .

  • use_hmm: Menentukan apakah akan menggunakan model Markov tersembunyi (HMM) untuk menangani kata-kata yang tidak termasuk dalam kamus. Nilai valid: true dan false. Nilai default: true.

  • stopwords: Kata-kata stop yang akan difilter. Tipe data: ARRAY. Setiap kata stop harus berupa string. Jika parameter ini ditentukan, kata-kata stop default akan ditimpa. Untuk informasi lebih lanjut, lihat Kata Stop Default Jieba.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"jieba"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_analyzer":{
          "type":"jieba",
          "stopwords":[
            "memory",
            "disk",
            "is",
            "a"
          ],"userwords":[
            "Redis",
            "open-source",
            "flexible"
          ],
          "use_hmm":true
        }
      }
    }
  }
}

IK

Penganalisis IK digunakan untuk dokumen dalam bahasa Cina dan kompatibel dengan plugin penganalisis IK dari Alibaba Cloud Elasticsearch. IK mendukung mode ik_max_word dan ik_smart. Dalam mode ik_max_word, IK mengidentifikasi semua token yang mungkin. Dalam mode ik_smart, IK menyaring hasil mode ik_max_word untuk mengidentifikasi token yang paling mungkin.

Catatan

  •  
  •  

Komponen:

  • Pemisah kata: IK

Parameter Opsional:

  • stopwords: Kata-kata stop yang akan difilter. Tipe data: ARRAY. Setiap kata stop harus berupa string. Jika parameter ini ditentukan, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]
  • userwords: Kamus kata-kata pengguna. Tipe data: ARRAY. Setiap kata harus berupa string. Jika parameter ini ditentukan, kata-kata pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Default IK.

  • quantifiers: Kamus kuantifier pengguna. Tipe data: ARRAY. Jika parameter ini ditentukan, kuantifier pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Kuantifier Default IK.

  • enable_lowercase: Menentukan apakah akan mengonversi huruf besar menjadi huruf kecil. Nilai valid: true dan false. Nilai default: true.

    Penting

    Jika kamus kustom mengandung huruf besar, atur parameter ini ke false karena konversi dilakukan sebelum dokumen dibagi.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"ik_smart"
      },
      "f1":{
        "type":"text",
        "analyzer":"ik_max_word"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_ik_smart_analyzer"
      },
      "f1":{
        "type":"text",
        "analyzer":"my_ik_max_word_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_ik_smart_analyzer":{
          "type":"ik_smart",
          "stopwords":[
            "memory",
            "disk",
            "is",
            "a"
          ],"userwords":[
            "Redis",
            "open-source",
            "flexible"
          ],
          "quantifiers":[
            "ns"
          ],
          "enable_lowercase":false
        },
        "my_ik_max_word_analyzer":{
          "type":"ik_max_word",
          "stopwords":[
            "memory",
            "disk",
            "is",
            "a"
          ],"userwords":[
            "Redis",
            "open-source",
            "flexible"
          ],
          "quantifiers":[
            "ns"
          ],
          "enable_lowercase":false
        }
      }
    }
  }
}

Pola

Penganalisis pola membagi dokumen berdasarkan ekspresi reguler yang ditentukan. Kata-kata yang cocok dengan ekspresi reguler digunakan sebagai pemisah. Sebagai contoh, jika ekspresi reguler "aaa" digunakan untuk membagi "bbbaaaccc", hasil pembagiannya adalah "bbb" dan "ccc". Anda juga dapat menentukan parameter lowercase untuk mengonversi token menjadi huruf kecil dan menyaring kata-kata stop.

Komponen:

Parameter Opsional:

  • pattern: Ekspresi reguler. Kata-kata yang cocok dengan ekspresi reguler digunakan sebagai pemisah. Nilai default: \W+. Untuk informasi lebih lanjut tentang sintaksis ekspresi reguler, kunjungi GitHub.

  • stopwords: Kata-kata stop yang akan difilter. Kamus kata-kata stop harus berupa array, dan setiap kata stop harus berupa string. Jika Anda menentukan kata-kata stop, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]
  • lowercase: Menentukan apakah akan mengonversi token menjadi huruf kecil. Nilai valid: true dan false. Nilai default: true.

  • flags: Menentukan apakah ekspresi reguler peka terhadap huruf besar/kecil. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa ekspresi reguler peka terhadap huruf besar/kecil. Nilai CASE_INSENSITIVE menunjukkan bahwa ekspresi reguler tidak peka terhadap huruf besar/kecil.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"pattern"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_analyzer":{
          "type":"pattern",
          "pattern":"\\'([^\\']+)\\'",
          "stopwords":[
            "aaa",
            "@"
          ],
          "lowercase":false,
          "flags":"CASE_INSENSITIVE"
        }
      }
    }
  }
}

Spasi Putih

Penganalisis spasi putih membagi dokumen menjadi token setiap kali menemui karakter spasi putih.

Komponen:

Parameter Opsional: tidak ada

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"whitespace"
      }
    }
  }
}

Sederhana

Penganalisis sederhana membagi dokumen menjadi token pada karakter non-huruf apa pun dan mengubah token menjadi huruf kecil.

Komponen:

Parameter Opsional: tidak ada

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"simple"
      }
    }
  }
}

Kata Kunci

Penganalisis kata kunci mengonversi dokumen menjadi token tanpa membagi dokumen.

Komponen:

Parameter Opsional: tidak ada

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"keyword"
      }
    }
  }
}

Bahasa

Penganalisis bahasa tersedia untuk bahasa-bahasa berikut: cina, arab, cjk, brazil, ceska, jerman, yunani, persia, prancis, belanda, dan rusia.

Parameter Opsional:

  • stopwords: Kata-kata stop yang akan difilter. Kamus kata-kata stop harus berupa array, dan setiap kata stop harus berupa string. Jika Anda menentukan kata-kata stop, kata-kata stop default akan ditimpa. Untuk informasi lebih lanjut tentang kata-kata stop default untuk berbagai bahasa, lihat bagian Lampiran 4: Kata-Kata Stop Default Penganalisis Bahasa Bawaan untuk Berbagai Bahasa dari topik ini.

    Catatan

    Anda tidak dapat memodifikasi kata-kata stop dari penganalisis cina.

  • stem_exclusion: Kata-kata yang batangnya tidak diekstraksi. Sebagai contoh, jika Anda mengekstrak batang dari "apples", hasilnya adalah "apple". Secara default, parameter ini dibiarkan kosong. Nilai parameter stem_exclusion harus berupa array, dan setiap kata harus berupa string.

    Catatan

    Parameter ini didukung hanya untuk penganalisis brazil, jerman, prancis, dan belanda.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"arabic"
      }
    }
  }
}

# Penggunaan kata stop kustom:
{
    "mappings":{
        "properties":{
            "f0":{
                "type":"text",
                "analyzer":"my_analyzer"
            }
        }
    },
    "settings":{
        "analysis":{
            "analyzer":{
                "my_analyzer":{
                    "type":"german",
                    "stopwords":[
                        "ein"
                    ],
                    "stem_exclusion":[
                        "speicher"
                    ]
                }
            }
        }
    }
}

Penganalisis Kustom

Penganalisis TairSearch kustom didefinisikan sebagai kombinasi filter karakter, pemisah kata, dan filter token, yang diterapkan secara berurutan. Anda dapat menentukan parameter char_filter, tokenizer, dan filter yang sesuai berdasarkan kebutuhan Anda.

Metode: Atur parameter analyzer ke penganalisis kustom seperti my_custom_analyzer di properties. Konfigurasikan penganalisis kustom my_custom_analyzer di settings.

Tabel berikut menjelaskan parameter.

Parameter

Deskripsi

type

Penganalisis kustom. Parameter ini wajib dan disetel ke custom.

char_filter

Menyaring karakter untuk memproses dokumen sebelumnya. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa TairSearch tidak memproses dokumen sebelumnya. Parameter ini opsional dan hanya dapat disetel ke pemetaan.

Bidang:

tokenizer

Pemisah kata. Parameter ini wajib. Anda hanya dapat menentukan satu pemisah kata. Nilai valid: spasi putih, huruf kecil, standar, klasik, huruf, kata kunci, jieba, pola, ik_max_word, dan ik_smart. Untuk informasi lebih lanjut, lihat bagian Lampiran 2: Pemisah kata yang didukung dari topik ini.

filter

Mengonversi token menjadi huruf kecil, dan menyaring kata-kata stop. Parameter ini opsional. Anda dapat menentukan beberapa nilai untuk parameter ini. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa Tairsearch tidak memproses token.

Nilai valid: klasik, elision, huruf kecil, snowball, stop, asciifolding, panjang, arabic_normalization, dan persian_normalization. Untuk informasi lebih lanjut, lihat bagian Lampiran 3: Filter token yang didukung dari topik ini.

Konfigurasi Sampel:

# Konfigurasikan penganalisis kustom:
# Dalam contoh ini, emotikon dan konjungsi ditentukan sebagai filter karakter. Selain itu, pemisah kata spasi putih dan filter token huruf kecil serta stop ditentukan. 
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":[
            "huruf kecil",
            "stop"
          ],
          "char_filter": [
            "emotikon",
            "konjungsi"
          ]
        }
      },
      "char_filter":{
        "emotikon":{
          "type":"mapping",
          "mappings":[
            ":) => _bahagia_",
            ":( => _sedih_"
           ]
        },
        "konjungsi":{
          "type":"mapping",
          "mappings":[
            "&=>dan"
          ]
        }
      }
    }
  }
}

Lampiran 1: Filter karakter yang didukung

Mapping Character Filter

Anda dapat mengonfigurasi pasangan kunci-nilai di mappings. Dengan cara ini, ketika sebuah kunci diidentifikasi, kunci tersebut diganti dengan nilai yang sesuai. Sebagai contoh, ":) =>_bahagia_" menunjukkan bahwa ":)" diganti dengan "_bahagia_". Anda dapat menentukan beberapa filter karakter.

Parameter:

  • mappings: Parameter ini wajib. Tipe data: ARRAY. Setiap elemen harus mencakup =>. Contoh: "&=>dan".

Konfigurasi Sampel:

{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"standard",
          "char_filter": [
            "emotikon"
          ]
        }
      },
      "char_filter":{
        "emotikon":{
          "type":"mapping",
          "mappings":[
            ":) => _bahagia_",
            ":( => _sedih_"
          ]
        }
      }
    }
  }
}

Lampiran 2: Pemisah kata yang didukung

spasi putih

Pemisah kata spasi putih membagi dokumen menjadi token setiap kali menemui karakter spasi putih.

Parameter Opsional:

  • max_token_length: Jumlah maksimum karakter yang diizinkan untuk sebuah token. Nilai default: 255. Token yang melebihi panjang maksimum dibagi berdasarkan panjang maksimum yang ditentukan.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih"
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"token1"
        }
      },
      "tokenizer":{
        "token1":{
          "type":"spasi putih",
          "max_token_length":2
        }
      }
    }
  }
}

standar

Pemisah kata standar membagi dokumen berdasarkan algoritma Segmentasi Teks Unicode, seperti yang ditentukan dalam Unicode Standard Annex #29. Pemisah kata ini bekerja dengan baik untuk sebagian besar bahasa.

Parameter Opsional:

  • max_token_length: Jumlah maksimum karakter yang diizinkan untuk sebuah token. Nilai default: 255. Token yang melebihi panjang maksimum dibagi berdasarkan panjang maksimum yang ditentukan.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"standar"
        }
      }
    }
  }
}
# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"token1"
        }
      },
      "tokenizer":{
        "token1":{
          "type":"standar",
          "max_token_length":2
        }
      }
    }
  }
}

klasik

Pemisah kata klasik membagi dokumen berdasarkan tata bahasa Inggris dan menangani akronim, nama perusahaan, alamat email, dan alamat IP dengan cara khusus, seperti yang dijelaskan berikut ini:

  • Membagi dokumen berdasarkan tanda baca dan menghapus tanda baca. Titik (.) tanpa spasi tidak dianggap sebagai tanda baca. Sebagai contoh, red.apple tidak dibagi, sedangkan red.[spasi] apple dibagi menjadi red dan apple.

  • Membagi dokumen berdasarkan tanda hubung. Jika angka terkandung dalam token, token diinterpretasikan sebagai nomor produk dan tidak dibagi.

  • Mengidentifikasi alamat email dan nama host sebagai token.

Parameter Opsional:

  • max_token_length: Jumlah maksimum karakter yang diizinkan untuk sebuah token. Nilai default: 255. Token yang melebihi panjang maksimum dilewati.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"klasik"
        }
      }
    }
  }
}
# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"token1"
        }
      },
      "tokenizer":{
        "token1":{
          "type":"klasik",
          "max_token_length":2
        }
      }
    }
  }
}

huruf

Pemisah kata huruf membagi dokumen menjadi token pada karakter non-huruf apa pun dan bekerja dengan baik untuk bahasa Eropa.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"huruf"
        }
      }
    }
  }
}

huruf kecil

Pemisah kata huruf kecil membagi dokumen menjadi token pada karakter non-huruf apa pun dan mengonversi semua token menjadi huruf kecil. Hasil pembagian pemisah kata huruf kecil sama dengan kombinasi pemisah kata huruf dan filter token huruf kecil. Namun, pemisah kata huruf kecil hanya melintasi dokumen sekali, sehingga lebih efisien waktu.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"huruf kecil"
        }
      }
    }
  }
}

kata kunci

Pemisah kata kunci mengonversi dokumen menjadi token tanpa membagi dokumen. Biasanya, pemisah kata kunci digunakan bersama dengan filter token seperti filter token huruf kecil untuk mengonversi dokumen menjadi huruf kecil.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"kata kunci"
        }
      }
    }
  }
}

jieba

Pemisah kata jieba direkomendasikan untuk bahasa Cina. Ini membagi dokumen berdasarkan kamus yang telah dilatih atau ditentukan.

Parameter Opsional:

  • userwords: Kamus kata-kata pengguna. Tipe data: ARRAY. Setiap kata harus berupa string. Jika parameter ini ditentukan, kata-kata pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Default Jieba.

    Penting

    Kata-kata dalam kamus kustom tidak boleh mengandung spasi atau karakter khusus berikut: \t, \n, , dan .

  • use_hmm: Menentukan apakah akan menggunakan model Markov tersembunyi (HMM) untuk menangani kata-kata yang tidak termasuk dalam kamus. Nilai valid: true dan false. Nilai default: true.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"jieba"
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f1":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"token1"
        }
      },
      "tokenizer":{
        "token1":{
          "type":"jieba",
          "userwords":[
            "Redis",
            "open-source",
            "flexible"
          ],
          "use_hmm":true
        }
      }
    }
  }
}

pola

Pemisah kata pola membagi dokumen berdasarkan ekspresi reguler yang ditentukan. Kata-kata yang cocok dengan ekspresi reguler digunakan sebagai pemisah atau diidentifikasi sebagai token.

Parameter Opsional:

  • pattern: Ekspresi reguler. Secara default: \W+. Untuk informasi lebih lanjut, kunjungi GitHub.

  • group: Menggunakan ekspresi reguler yang ditentukan sebagai pemisah atau token. Nilai default: -1. Nilai valid:

    • -1: Menggunakan kata-kata yang cocok dengan ekspresi reguler yang ditentukan sebagai pemisah. Sebagai contoh, jika Anda menggunakan ekspresi reguler "aaa" untuk membagi "bbbaaaccc", hasil pembagiannya adalah "bbb" dan "ccc".

    • 0 atau bilangan bulat lebih besar dari 0: Mengidentifikasi kata-kata yang cocok dengan ekspresi reguler sebagai token. Nilai 0 menunjukkan bahwa TairSearch mencocokkan kata-kata berdasarkan seluruh ekspresi reguler. Nilai 1 atau bilangan bulat lebih besar dari 1 menunjukkan bahwa TairSearch mencocokkan kata-kata berdasarkan kelompok penangkapan yang sesuai dalam ekspresi reguler. Sebagai contoh, asumsikan bahwa ekspresi reguler "a(b+)c" digunakan untuk membagi "abbbcdefabc". Jika group disetel ke 0, hasil pembagiannya adalah "abbbc" dan "abc". Jika group disetel ke 1, kelompok penangkapan pertama b+ dalam "a(b+)c" digunakan untuk mencocokkan kata-kata. Dalam hal ini, hasil pembagiannya adalah "bbb" dan "b".

  • flags: Menentukan apakah ekspresi reguler yang ditentukan peka terhadap huruf besar/kecil. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa ekspresi reguler peka terhadap huruf besar/kecil. Nilai CASE_INSENSITIVE menunjukkan bahwa ekspresi reguler tidak peka terhadap huruf besar/kecil.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"pola"
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f1":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"pola_tokenizer"
        }
      },
      "tokenizer":{
        "pola_tokenizer":{
          "type":"pola",
          "pattern":"AB(A(\\w+)C)",
          "flags":"CASE_INSENSITIVE",
          "group":2
        }
      }
    }
  }
}

IK

Pemisah kata IK membagi dokumen dalam bahasa Cina. IK mendukung mode ik_max_word dan ik_smart. Dalam mode ik_max_word, IK mengidentifikasi semua token yang mungkin. Dalam mode ik_smart, IK menyaring hasil mode ik_max_word untuk mengidentifikasi token yang paling mungkin.

Parameter Opsional:

  • stopwords: Kata-kata stop yang akan difilter. Tipe data: ARRAY. Setiap kata stop harus berupa string. Jika parameter ini ditentukan, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]
  • userwords: Kamus kata-kata pengguna. Tipe data: ARRAY. Setiap kata harus berupa string. Jika parameter ini ditentukan, kata-kata pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Default IK.

  • quantifiers: Kamus kuantifier pengguna. Tipe data: ARRAY. Jika parameter ini ditentukan, kuantifier pengguna ditambahkan ke kamus default. Untuk informasi lebih lanjut, lihat Kamus Kuantifier Default IK.

  • enable_lowercase: Menentukan apakah akan mengonversi huruf besar menjadi huruf kecil. Nilai valid: true dan false. Nilai default: true.

    Penting

    Jika kamus kustom mengandung huruf besar, atur parameter ini ke false karena konversi dilakukan sebelum dokumen dibagi.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_ik_smart_analyzer"
      },
      "f1":{
        "type":"text",
        "analyzer":"my_custom_ik_max_word_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_ik_smart_analyzer":{
          "type":"custom",
          "tokenizer":"ik_smart"
        },
        "my_custom_ik_max_word_analyzer":{
          "type":"custom",
          "tokenizer":"ik_max_word"
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_ik_smart_analyzer"
      },
      "f1":{
        "type":"text",
        "analyzer":"my_custom_ik_max_word_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_ik_smart_analyzer":{
          "type":"custom",
          "tokenizer":"my_ik_smart_tokenizer"

        },
        "my_custom_ik_max_word_analyzer":{
          "type":"custom",
          "tokenizer":"my_ik_max_word_tokenizer"

        }
      },
      "tokenizer":{
        "my_ik_smart_tokenizer":{
          "type":"ik_smart",
          "userwords":[
            "Pemisah kata untuk bahasa Cina",
            "Kata stop kustom"
          ],
          "stopwords":[
            "about",
            "test"
          ],
          "quantifiers":[
            "ns"
          ],
          "enable_lowercase":false
        },
        "my_ik_max_word_tokenizer":{
          "type":"ik_max_word",
          "userwords":[
            "Pemisah kata untuk bahasa Cina",
            "Kata stop kustom"
          ],
          "stopwords":[
            "about",
            "test"
          ],
          "quantifiers":[
            "ns"
          ],
          "enable_lowercase":false
        }
      }
    }
  }
}

Lampiran 3: Filter token yang didukung

klasik

Filter token klasik menyaring 's di akhir token dan titik (.) dalam akronim. Sebagai contoh, Fig. dikonversi menjadi Fig.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"klasik",
          "filter":["klasik"]
        }
      }
    }
  }
}

elision

Filter token elision menghapus elisi yang ditentukan dari awal token. Filter ini terutama berlaku untuk bahasa Prancis.

Parameter Opsional:

  • articles: Elisi yang ditentukan. Parameter ini wajib jika Anda ingin menentukan elisi kustom. Tipe data: ARRAY. Setiap elemen dalam array harus berupa string. Nilai default: ["l", "m", "t", "qu", "n", "s", "j"]. Jika Anda menentukan parameter ini, nilai default akan ditimpa.

  • articles_case: Menentukan apakah elisi peka terhadap huruf besar/kecil. Parameter ini opsional. Nilai valid: true dan false. Nilai default: false.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["elision"]
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["elision_filter"]
        }
      },
      "filter":{
        "elision_filter":{
          "type":"elision",
          "articles":["l", "m", "t", "qu", "n", "s", "j"],
          "articles_case":true
        }
      }
    }
  }
}

huruf kecil

Filter token huruf kecil mengonversi token menjadi huruf kecil.

Parameter Opsional:

  • language: Bahasa yang digunakan oleh filter token. Nilai valid: yunani dan rusia. Jika Anda tidak menentukan parameter ini, filter token menggunakan bahasa Inggris.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["huruf kecil"]
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_greek_analyzer"
      },
      "f1":{
        "type":"text",
        "analyzer":"my_custom_russian_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_greek_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["greek_lowercase"]
        },
        "my_custom_russian_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["russian_lowercase"]
        }
      },
      "filter":{
        "greek_lowercase":{
          "type":"huruf kecil",
          "language":"yunani"
        },
        "russian_lowercase":{
          "type":"huruf kecil",
          "language":"rusia"
        }
      }
    }
  }
}

snowball

Filter token snowball mengekstraksi batang dari semua token. Sebagai contoh, filter token mengekstrak cat dari cats.

Parameter Opsional:

  • language: Bahasa yang digunakan oleh filter token. Nilai valid: inggris, jerman, prancis, dan belanda. Nilai default: inggris.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["snowball"]
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"standar",
          "filter":["my_filter"]
        }
      },
      "filter":{
        "my_filter":{
          "type":"snowball",
          "language":"inggris"
        }
      }
    }
  }
}

stop

Filter token stop menghapus kata-kata stop dari token berdasarkan array kata-kata stop yang ditentukan.

Parameter Opsional:

  • stopwords: Array kata-kata stop. Setiap kata stop harus berupa string. Jika Anda menentukan parameter ini, kata-kata stop default akan ditimpa. Kata-kata stop default:

    ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]
  • ignoreCase: Menentukan apakah kata-kata stop peka terhadap huruf besar/kecil. Nilai valid: true dan false. Nilai default: false.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["stop"]
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"standar",
          "filter":["stop_filter"]
        }
      },
      "filter":{
        "stop_filter":{
          "type":"stop",
          "stopwords":[
            "the"
          ],
          "ignore_case":true
        }
      }
    }
  }
}

asciifolding

Filter token ASCIIFolding mengonversi karakter alfabet, numerik, dan simbolik yang tidak termasuk dalam blok Unicode Latin Dasar ke ekuivalen ASCII mereka. Sebagai contoh, filter token ini mengonversi é menjadi e.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"standar",
          "filter":["asciifolding"]
        }
      }
    }
  }
}

panjang

Filter token panjang menghapus token yang lebih pendek atau lebih panjang dari panjang karakter yang ditentukan.

Parameter Opsional:

  • min: Jumlah minimum karakter yang diizinkan untuk sebuah token. Tipe data: INTEGER. Nilai default: 0.

  • max: Jumlah maksimum karakter yang diizinkan untuk sebuah token. Tipe data: INTEGER. Nilai default: 2^31 - 1.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["panjang"]
        }
      }
    }
  }
}

# Konfigurasi kustom:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_custom_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_custom_analyzer":{
          "type":"custom",
          "tokenizer":"spasi putih",
          "filter":["panjang_filter"]
        }
      },
      "filter":{
        "panjang_filter":{
          "type":"panjang",
          "max":5,
          "min":2
        }
      }
    }
  }
}

Normalisasi

Filter token normalisasi menormalkan karakter tertentu dari bahasa tertentu. Nilai valid: arabic_normalization dan persian_normalization. Kami merekomendasikan Anda menggunakan filter token ini bersama dengan pemisah kata standar.

Konfigurasi Sampel:

# Konfigurasi default:
{
  "mappings":{
    "properties":{
      "f0":{
        "type":"text",
        "analyzer":"my_arabic_analyzer"
      },
      "f1":{
        "type":"text",
        "analyzer":"my_persian_analyzer"
      }
    }
  },
  "settings":{
    "analysis":{
      "analyzer":{
        "my_arabic_analyzer":{
          "type":"custom",
          "tokenizer":"arabic",
          "filter":["arabic_normalization"]
        },
        "my_persian_analyzer":{
          "type":"custom",
          "tokenizer":"arabic",
          "filter":["persian_normalization"]
        }
      }
    }
  }
}

Lampiran 4: Kata-kata stop default penganalisis bahasa bawaan untuk berbagai bahasa

arab

["من","ومن","منها","منه","في","وفي","فيها","فيه","و","ف","ثم","او","أو","ب","بها","به","ا","أ","اى","اي","أي","أى","لا","ولا","الا","ألا","إلا","لكن","ما","وما","كما","فما","عن","مع","اذا","إذا","ان","أن","إن","انها","أنها","إنها","انه","أنه","إنه","بان","بأن","فان","فأن","وان","وأن","وإن","التى","التي","الذى","الذي","الذين","الى","الي","إلى","إلي","على","عليها","عليه","اما","أما","إما","ايضا","أيضا","كل","وكل","لم","ولم","لن","ولن","هى","هي","هو","وهى","وهي","وهو","فهى","فهي","فهو","انت","أنت","لك","لها","له","هذه","هذا","تلك","ذلك","هناك","كانت","كان","يكون","تكون","وكانت","وكان","غير","بعض","قد","نحو","بين","بينما","منذ","ضمن","حيث","الان","الآن","خلال","بعد","قبل","حتى","عند","عندما","لدى","جميع"]

cjk

["with","will","to","this","there","then","the","t","that","such","s","on","not","no","it","www","was","is","","into","their","or","in","if","for","by","but","they","be","these","at","are","as","and","of","a"]

Brasil

["uns","umas","uma","teu","também","tal","suas","tentang","sob","seu","sendo","seja","tanpa","se","siapa","milikmu","yang","mana saja","karena","oleh","di hadapan","oleh mereka","olehnya","lainnya","lain","yang lain","yang lainnya","mereka","itu","di sini","di dalam","tidak ada","apa","melalui","diri sendiri","segera","ini","itu","ada","mereka ini","ini","milik mereka","ini","semua","mereka itu","itu","seluruh","di antara","kami","lalu","di","mereka","yang","mereka","milikmu","dia","segalanya","dari","sama","berbagai","semua","berbagai","miliknya","tersedia","atau","tersedia","milikmu","dari ini","ingin","dari ini","berbagai","sejak","berapa","setelah","demikian","ketika","ini","milik mereka","seluruh","karena","miliknya","miliknya","dari mereka","dari","dari","tidak","yang","dari mereka","yang","selama","yang","oleh karena itu","yang","namun","dia","melawan","seperti","dengan","oleh mereka","demikian","para","mereka itu","lebih","ini","yang itu","tetapi","setelah","kepada","ke mana","miliknya","dan","ke","sebelum","tidak","keduanya","keduanya","selain","masih","ke"]  

Ceko

["a","s","k","o","i","u","v","z","hari ini","cz","dengan ini","kamu akan","kita akan","adalah","kamu","milikku","dengan milikku","itu","dalam hal ini","ini","itu","ini","miliknya","apakah","mengapa","Anda memiliki","ini","ke mana","ini","siapa","yang","aku","kami","itu","kepada ini","memiliki","tidak ada","karena itu","sekitar","dia","kami","tulislah","re","yang","dengan itu","jadi","dengan milik mereka","miliknya","dengan milik mereka","kamu adalah","dll","itu","oleh karena itu","milik mereka","itu","di mana","ke","menuju","dia","di atas","bukan","atau","topik","antara","melalui","kamu","kemudian","kepada kamu","bahkan tidak","ketika","namun","tidak","aku","ini","artikel","artikel-artikel","agar","kami","sebelum","pertanyaan","milik mereka","adalah","masih","hingga","tanpa","juga","hanya","pertama","milik Anda","yang","kami","tips","jika","bisa","halaman","miliknya","milik saya","lainnya","berita","baru","bukan","kamu","hanya","menurut","di sini","sudah","akan","lebih","akan","sudah","daripada","yang","akan","yang","apa","atau","itu","begitu","memiliki","menuju","dari","setelah","adalah","seperti","lainnya","tetapi","diri sendiri","dengan","dalam","itu","seperti","untuk kembali","dari","ke","untuk","adalah","pada","dst","dll","begitu saja","karena"]  

jerman

["karena","saya","saya","kamu","kamu","mereka","akan","adalah","di","melalui","milik mereka","adalah","dari","dari","di dalam","adalah","dengan","tanpa","atau","tidak","seperti","apa","itu","mereka","saya","dia","kamu","bahwa","bahwa","yang","sebagai","mereka","kami","yang","untuk","itu","salah satu","siapa","kepada","pada","dan","salah satunya","satu","dalam","salah satu dari"]

yunani

["ο","η","το","οι","τα","του","τησ","των","τον","την","και","κι","κ","ειμαι","εισαι","ειναι","ειμαστε","ειστε","στο","στον","στη","στην","μα","αλλα","απο","για","προσ","με","σε","ωσ","παρα","αντι","κατα","μετα","θα","να","δε","δεν","μη","μην","επι","ενω","εαν","αν","τοτε","που","πωσ","ποιοσ","ποια","ποιο","ποιοι","ποιεσ","ποιων","ποιουσ","αυτοσ","αυτη","αυτο","αυτοι","αυτων","αυτουσ","αυτεσ","αυτα","εκεινοσ","εκεινη","εκεινο","εκεινοι","εκεινεσ","εκεινα","εκεινων","εκεινουσ","οπωσ","ομωσ","ισωσ","οσο","οτι"]

persia

["انان","نداشته","سراسر","خياه","ايشان","وي","تاكنون","بيشتري","دوم","پس","ناشي","وگو","يا","داشتند","سپس","هنگام","هرگز","پنج","نشان","امسال","ديگر","گروهي","شدند","چطور","ده","و","دو","نخستين","ولي","چرا","چه","وسط","ه","كدام","قابل","يك","رفت","هفت","همچنين","در","هزار","بله","بلي","شايد","اما","شناسي","گرفته","دهد","داشته","دانست","داشتن","خواهيم","ميليارد","وقتيكه","امد","خواهد","جز","اورده","شده","بلكه","خدمات","شدن","برخي","نبود","بسياري","جلوگيري","حق","كردند","نوعي","بعري","نكرده","نظير","نبايد","بوده","بودن","داد","اورد","هست","جايي","شود","دنبال","داده","بايد","سابق","هيچ","همان","انجا","كمتر","كجاست","گردد","كسي","تر","مردم","تان","دادن","بودند","سري","جدا","ندارند","مگر","يكديگر","دارد","دهند","بنابراين","هنگامي","سمت","جا","انچه","خود","دادند","زياد","دارند","اثر","بدون","بهترين","بيشتر","البته","به","براساس","بيرون","كرد","بعضي","گرفت","توي","اي","ميليون","او","جريان","تول","بر","مانند","برابر","باشيم","مدتي","گويند","اكنون","تا","تنها","جديد","چند","بي","نشده","كردن","كردم","گويد","كرده","كنيم","نمي","نزد","روي","قصد","فقط","بالاي","ديگران","اين","ديروز","توسط","سوم","ايم","دانند","سوي","استفاده","شما","كنار","داريم","ساخته","طور","امده","رفته","نخست","بيست","نزديك","طي","كنيد","از","انها","تمامي","داشت","يكي","طريق","اش","چيست","روب","نمايد","گفت","چندين","چيزي","تواند","ام","ايا","با","ان","ايد","ترين","اينكه","ديگري","راه","هايي","بروز","همچنان","پاعين","كس","حدود","مختلف","مقابل","چيز","گيرد","ندارد","ضد","همچون","سازي","شان","مورد","باره","مرسي","خويش","برخوردار","چون","خارج","شش","هنوز","تحت","ضمن","هستيم","گفته","فكر","بسيار","پيش","براي","روزهاي","انكه","نخواهد","بالا","كل","وقتي","كي","چنين","كه","گيري","نيست","است","كجا","كند","نيز","يابد","بندي","حتي","توانند","عقب","خواست","كنند","بين","تمام","همه","ما","باشند","مثل","شد","اري","باشد","اره","طبق","بعد","اگر","صورت","غير","جاي","بيش","ريزي","اند","زيرا","چگونه","بار","لطفا","مي","درباره","من","ديده","همين","گذاري","برداري","علت","گذاشته","هم","فوق","نه","ها","شوند","اباد","همواره","هر","اول","خواهند","چهار","نام","امروز","مان","هاي","قبل","كنم","سعي","تازه","را","هستند","زير","جلوي","عنوان","بود"]

prancis

["ô","être","vu","vous","votre","un","tu","toute","tout","tous","toi","tiens","tes","suivant","soit","soi","sinon","siennes","si","se","sauf","s","quoi","vers","qui","quels","ton","quelle","quoique","quand","près","pourquoi","plus","à","pendant","partant","outre","on","nous","notre","nos","tienne","ses","non","qu","ni","ne","mêmes","même","moyennant","mon","moins","va","sur","moi","miens","proche","miennes","mienne","tien","mien","n","malgré","quelles","plein","mais","là","revoilà","lui","leurs","๺","toutes","le","où","la","l","jusque","jusqu","ils","hélas","ou","hormis","laquelle","il","eu","nôtre","etc","est","environ","une","entre","en","son","elles","elle","dès","durant","duquel","été","du","voici","par","dont","donc","voilà","hors","doit","plusieurs","diverses","diverse","divers","devra","devers","tiennes","dessus","etre","dessous","desquels","desquelles","ès","et","désormais","des","te","pas","derrière","depuis","delà","hui","dehors","sans","dedans","debout","vôtre","de","dans","nôtres","mes","d","y","vos","je","concernant","comme","comment","combien","lorsque","ci","ta","nບnmoins","lequel","chez","contre","ceux","cette","j","cet","seront","que","ces","leur","certains","certaines","puisque","certaine","certain","passé","cependant","celui","lesquelles","celles","quel","celle","devant","cela","revoici","eux","ceci","sienne","merci","ce","c","siens","les","avoir","sous","avec","pour","parmi","avant","car","avait","sont","me","auxquels","sien","sa","excepté","auxquelles","aux","ma","autres","autre","aussi","auquel","aujourd","au","attendu","selon","après","ont","ainsi","ai","afin","vôtres","lesquels","a"]

belanda

["andere","uw","niets","wil","na","tegen","ons","wordt","werd","hier","eens","onder","alles","zelf","hun","dus","kan","ben","meer","iets","me","veel","omdat","zal","nog","altijd","ja","want","u","zonder","deze","hebben","wie","zij","heeft","hoe","nu","heb","naar","worden","haar","daar","der","je","doch","moet","tot","uit","bij","geweest","kon","ge","zich","wezen","ze","al","zo","dit","waren","men","mijn","kunnen","wat","zou","dan","hem","om","maar","ook","er","had","voor","of","als","reeds","door","met","over","aan","mij","was","is","geen","zijn","niet","iemand","het","hij","een","toen","in","toch","die","dat","te","doen","ik","van","op","en","de"]

rusia

["а","без","более","бы","был","была","были","было","быть","в","вам","вас","весь","во","вот","все","всего","всех","вы","где","да","даже","для","до","его","ее","ей","ею","если","есть","еще","же","за","здесь","и","из","или","им","их","к","как","ко","когда","кто","ли","либо","мне","может","мы","на","надо","наш","не","него","нее","нет","ни","них","но","ну","о","об","однако","он","она","они","оно","от","очень","по","под","при","с","со","так","также","такой","там","те","тем","то","того","тоже","той","только","том","ты","у","уже","хотя","чего","чей","чем","что","чтобы","чье","чья","эта","эти","это","я"]