泰語Compatible with Milvus 3.0.0+
thai 分析器是專為泰文設計的內建分析器。當您需要 Milvus 將泰文分割為單字、將泰文數字標準化、將混合拉丁文字轉為小寫,以及移除泰文停用詞時,請使用此分析器。
設定
內建分析器是 Milvus 提供的分析器範本。若要使用內建分析器,請將 `type ` 設定為 `analyzer_params` 中預先定義的分析器名稱。
若要使用內建的泰語分析器,請將 `type ` 設定為 `thai`:
analyzer_params = {
"type": "thai",
}
thai 分析器接受以下選填參數:
參數 |
類型 |
預設值 |
說明 |
|---|---|---|---|
|
|
|
一組需從分詞過程中移除的額外停用詞清單。預設情況下, |
若要新增自訂停用詞,請加入stop_words :
analyzer_params = {
"type": "thai",
"stop_words": ["มิลวัส"],
}
Milvus 會在內建的_thai_ 詞典之外,額外套用自訂停用詞。
內建的thai 分析器相當於以下自訂分析器設定:
analyzer_params = {
"tokenizer": "thai",
"filter": [
"lowercase",
"decimaldigit",
{
"type": "stop",
"stop_words": ["_thai_"],
},
],
}
此分析器會執行以下處理步驟:
- 分詞:使用
thai分詞器將泰文分割為單詞詞元,且不依賴空白字元。該分詞器會過濾掉僅含空白字元及標點符號的片段。 - 大小寫標準化:使用
lowercase濾波器,該濾波器會影響泰文與英文混合文本中的拉丁字母。 - 數字標準化:使用
decimaldigit篩選器,將泰文數字及其他Unicode十進位數字轉換為ASCII數字。 - 停用詞移除:使用
stop篩選器,並搭配內建的_thai_字典。 - 不進行詞幹提取:內建的
thai分析器不會套用stemmer篩選器。
定義analyzer_params 後,您可在定義集合架構時,將此分析器套用至VARCHAR 欄位。詳細資訊請參閱「使用範例」。
範例
在將分析器設定套用至您的集合架構之前,請先使用 `run_analyzer ` 方法驗證其運作行為。
分析器設定
analyzer_params = {
"type": "thai",
}
使用run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "ฉันรักการค้นหาข้อความใน Milvus ๑๒๓"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
預期輸出
['ฉัน', 'รัก', 'ค้นหา', 'ข้อความ', 'milvus', '123']