去除标点符号 Compatible with Milvus 2.5.11+
removepunct 过滤器会删除标点符号、空格和换行符,一些标记符号化器(如jieba,lindera, 和icu)通常会保留这些符号。如果您希望得到只包含有意义文本标记的更干净标记流,而不包含逗号、句号和其他标点符号,请使用该过滤器。
配置
removepunct 过滤器内置在 Milvus 中。要使用它,只需在analyzer_params 中的filter 部分指定其名称即可。
- Python
- Java
- NodeJS
- Go
- cURL
{
"tokenizer": "jieba",
"filter": ["removepunct"]
}
// java
// node
// go
# restful
removepunct 过滤器对标记符生成的术语进行操作,因此必须与标记符结合使用。
定义analyzer_params 后,您可以在定义 Collection Schema 时将其应用到VARCHAR 字段。这样,Milvus 就可以使用指定的分析器对该字段中的文本进行处理,从而实现高效的标记化和过滤。有关详情,请参阅示例使用。
示例
在将分析器配置应用到 Collection 模式之前,请使用run_analyzer 方法验证其行为。
分析器配置
- Python
- Java
- NodeJS
- Go
- cURL
{
"tokenizer": "icu",
"filter": ["removepunct"]
}
// java
// node
// go
# restful
验证使用run_analyzer
- Python
- Java
- NodeJS
- Go
- cURL
# Sample text to analyze
sample_text = "Привет! Как дела?"
# Run the standard analyzer with the defined configuration
result = MilvusClient.run_analyzer(sample_text, analyzer_params)
print(result)
// java
// javascript
// go
# restful
预期输出
['Привет', 'Как', 'дела']