泰語Compatible with Milvus 3.0.0+

thai 分析器是專為泰文設計的內建分析器。當您需要 Milvus 將泰文分割為單字、將泰文數字標準化、將混合拉丁文字轉為小寫,以及移除泰文停用詞時,請使用此分析器。

設定

內建分析器是 Milvus 提供的分析器範本。若要使用內建分析器,請將 `type ` 設定為 `analyzer_params` 中預先定義的分析器名稱。

若要使用內建的泰語分析器,請將 `type ` 設定為 `thai`:

analyzer_params = {
    "type": "thai",
}

thai 分析器接受以下選填參數:

參數

類型

預設值

說明

stop_words

list[str]

_thai_

一組需從分詞過程中移除的額外停用詞清單。預設情況下,thai 分析器會使用內建的_thai_ 字典。如需檢視預設字典,請參閱 Milvus泰語停用詞清單。該清單來源為 Apache Lucene泰語停用詞檔案

若要新增自訂停用詞,請加入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']

翻譯者DeepL

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?