Regex
regex filter 是一个正则表达式过滤器:tokenizer 生成的任何 token 只有在匹配您提供的表达式时才会被保留;其他所有内容都会被丢弃。
配置
regex filter 是 Milvus 中的自定义 filter。要使用它,请在 filter 配置中指定 "type": "regex",并使用 pattern 参数提供正则表达式。
{
"tokenizer": "standard",
"filter": [{
"type": "regex",
"expr": "^(?!test)" # keep tokens that do NOT start with "test"
}]
}
// java
// node
// go
# curl
regex filter 接受以下可配置参数:
参数 | 描述 |
|---|---|
| 要匹配 token 的正则表达式模式。仅保留与此模式匹配的 token。 |
regex filter 对 tokenizer 生成的 term 进行操作,因此必须与 tokenizer 结合使用。
定义 analyzer_params 后,您可以在定义 collection schema 时将其应用于 VARCHAR field。这允许 Milvus 使用指定的 analyzer 处理该 field 中的文本,以实现高效的分词和过滤。有关详细信息,请参阅 示例使用。
示例
在将 analyzer 配置应用到您的 collection schema 之前,使用 run_analyzer 方法验证其行为。
Analyzer 配置
{
"tokenizer": "standard",
"filter": [{
"type": "regex",
"expr": "^(?!test)"
}]
}
// java
// node
// go
# curl
使用 run_analyzer 验证
# Sample text to analyze
sample_text = "testItem apple testCase banana"
# Run the standard analyzer with the defined configuration
result = MilvusClient.run_analyzer(sample_text, analyzer_params)
print(result)
// java
// node
// go
# curl
预期输出
['apple', 'banana']