跳到主要内容
版本:v3.0.x

Chinese

chinese 分析器专为处理中文文本而设计,提供有效的分段和标记化功能。

定义

chinese 分析器包括:

  • Tokenizer(分词器):使用 jieba Tokenizer(分词器),根据词汇和上下文将中文文本分割成标记。更多信息,请参阅 Jieba

  • 过滤器:使用 cnalphanumonly 过滤器删除包含任何非汉字的标记。更多信息,请参阅 Cnalphanumonly

chinese 分析器的功能相当于以下自定义分析器配置:

内置 chinese 分析器不会输出 Pinyin token。如需使用 Pinyin 查询词匹配中文文本,请使用包含 jieba tokenizer 和 pinyin 过滤器的自定义分析器。

Python
analyzer_params = {
"tokenizer": "jieba",
"filter": ["cnalphanumonly"]
}

配置

要将 chinese 分析器应用到一个字段,只需在 analyzer_params 中将 type 设置为 chinese 即可。

Python
analyzer_params = {
"type": "chinese",
}
说明

chinese 分析器不接受任何可选参数。

示例

在将分析器配置应用到 Collection Schema 之前,请使用 run_analyzer 方法验证其行为。

Analyzer 配置

Python
analyzer_params = {
"type": "chinese",
}

验证使用 run_analyzer

Python
from pymilvus import (
MilvusClient,
)

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

# Sample text to analyze
sample_text = "Milvus 是一个高性能、可扩展的向量数据库!"

# Run the standard analyzer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("English analyzer output:", result)

预期输出

Text
Chinese analyzer output: ['Milvus', '是', '一个', '高性', '性能', '高性能', '可', '扩展', '的', '向量', '数据', '据库', '数据库']