跳到主要内容

Cncharonly

cncharonly 过滤器删除包含任何非汉字的词项。当您希望专注于中文文本时,该过滤器非常有用,可以过滤掉包含其他文字、数字或符号的词项。

配置

cncharonly 过滤器内置于 Zilliz Cloud。要使用它,只需在 analyzer_params 的过滤器部分指定其名称。

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

cncharonly 过滤器作用于分词器生成的词项,因此必须与分词器结合使用。有关 Zilliz Cloud 中可用的分词器列表,请参阅分词器参考

定义 analyzer_params 后,您可以在定义 Collection Schema 时将其应用于 VARCHAR 字段。这使得 Zilliz Cloud 能够使用指定的分析器处理该字段中的文本,以实现高效的分词和过滤。更多信息,请参阅使用示例

使用示例

在完成 Analyzer 配置后,您可以使用 run_analyzer 方法来验证分词效果是否符合预期。

Analyzer 配置

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

使用 run_analyzer 验证效果

from pymilvus import (
MilvusClient,
)

client = MilvusClient(uri="YOUR_CLUSTER_ENDPOINT")

# Sample text to analyze
sample_text = "Milvus 是 LF AI & Data Foundation 下的一个开源项目,以 Apache 2.0 许可发布。"

# Run the jieba tokenizer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Analyzer output:", result)

预期结果

['是', '下的一个开源项目', '以', '许可发布']