Decompounder公测版
decompounder
过滤器根据指定的字典将复合词拆分为单个组成部分,从而更容易搜索复合术语的部分。该过滤器对于经常使用复合词的语言(如德语)特别有用。
配置
decompounder
过滤器是 Zilliz Cloud 中的自定义过滤器,通过在过滤器配置中设置 "type": "decompounder"
并将word_list
设置为您需要的值的方式来指定。
- Python
- Java
analyzer_params = {
"tokenizer": "standard",
"filter":[{
"type": "decompounder", # Specifies the filter type as decompounder
"word_list": ["dampf", "schiff", "fahrt", "brot", "backen", "automat"],
}],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "standard");
analyzerParams.put("filter",
Collections.singletonList(
new HashMap<String, Object>() {{
put("type", "decompounder");
put("word_list", Arrays.asList("dampf", "schiff", "fahrt", "brot", "backen", "automat"));
}}
)
);
decompounder
过滤器接受以下可选参数。
参数 | 描述 |
---|---|
| 用于拆分复合术语的词组件列表。该字典决定了复合词如何被分解为单个术语。 |
decompounder
过滤器作用于分词器生成的词项,因此必须与分词器结合使用。有关 Zilliz Cloud 中可用的分词器列表,请参阅分词器参考。
定义 analyzer_params
后,您可以在定义 Collection Schema 时将其应用于 VARCHAR 字段。这使得 Zilliz Cloud 能够使用指定的分析器处理该字段中的文本,以实现高效的分词和过滤。更多信息,请参阅使用示例。
示例输出
以下是 decompounder
过滤器处理文本的示例:
原始文本:
"dampfschifffahrt brotbackautomat"
预期输出(word_list:["damf","schiff","fahrt","brot","backen","automat"]
):
["dampf", "schiff", "fahrt", "brotbackautomat"]