十進位數字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']