十进制数字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 数字。它对词法分析器生成的令牌进行处理。上述配置仅作为自定义分析器的示例,并未包含完整的阿拉伯语处理管道。

示例

在将分析器配置应用于您的 Collection Schema 之前,请使用 `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 SaaS服务 ?

Zilliz Cloud是基于Milvus的全托管向量数据库,拥有更高性能,更易扩展,以及卓越性价比

免费试用 Zilliz Cloud
反馈

此页对您是否有帮助?