十進位數字Compatible with Milvus 3.0.0+

decimaldigit 過濾器是一個內建的標記過濾器,可將受支援字元集中的 Unicode 十進位數字轉換為 ASCII 數字。此功能可確保不同語言與書寫系統間的數字標記保持一致。

設定

對於阿拉伯文,內建的 arabic 分析器已內建 `decimaldigit ` 過濾器。若需在自訂分析器管線中進行數字正規化,請直接使用 `decimaldigit `。

若要在自訂分析器中使用decimaldigit 篩選器,請將其新增至analyzer_params 中的filter 區段:

analyzer_params = {
    "tokenizer": "standard",
    "filter": ["decimaldigit"],
}

decimaldigit 濾波器沒有可配置的參數。

此濾波器會將 Unicode 十進位數字(包括阿拉伯-印度數字、泰文數字、天城文數字、孟加拉文數字及全寬數字)轉換為 ASCII 數字。它針對分詞器所產生的標記進行處理。上述設定僅為自訂分析器的範例,並未包含完整的阿拉伯文處理管線。

範例

在將分析器設定套用至您的集合架構之前,請先使用 `run_analyzer ` 方法驗證其運作行為。

分析器設定

analyzer_params = {
    "tokenizer": "standard",
    "filter": ["decimaldigit"],
}

使用以下方法進行驗證run_analyzer

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

sample_text = "Arabic ١٢٣ Thai ๑๒๓ Devanagari १२३ Fullwidth 123"

result = client.run_analyzer(sample_text, analyzer_params)
print(result)

預期輸出

['Arabic', '123', 'Thai', '123', 'Devanagari', '123', 'Fullwidth', '123']

翻譯者DeepL

免費嘗試托管的 Milvus

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

開始使用
反饋

這個頁面有幫助嗎?