泰语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 后,您可以在定义Collection Schema时将该分析器应用于VARCHAR 字段。有关详细信息,请参阅“使用示例”。
示例
在将分析器配置应用到 Collection Schema 之前,请使用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']