ChunkText 2025.5.31.15

捆绑包

com.snowflake.openflow.runtime | runtime-chunking-nar

描述

将文本进行分块处理,支持按分隔符和最大字符长度递归拆分。每个分块都有以下属性:fragment.identifier、fragment.index、fragment.count、segment.original.filename;这些属性可以供 MergeContent 处理器使用,以便重新合并为原始的 FlowFile。

标签

chunk、openflow、text

输入要求

REQUIRED

支持敏感的动态属性

false

属性

属性

描述

分块分隔符

指定以逗号分隔的字符序列列表。元字符 n、r 和 会自动解除转义。分隔符将按顺序递归应用于文本分块。

分块重叠

每个分块与前后分块之间重叠的最大字符数。

分块策略

对文本进行分块的策略。“递归分隔符”将根据递归字符拆分算法,将文本分成块。在此算法中,输入文本由第一个分隔符拆分,然后合并为不超过“最大分块长度”的块。任何超过“最大分块长度”的拆分都将使用下一个分隔符递归拆分。“最大分块长度”将通过创建大小为“最大分块长度”的块来分块文本。

语言

用于解析句子的语言。

最大分块长度

输出分块中包含的最大字符数。数值设置过高可能会导致内存不足错误。

句子相似阈值

用于确定两个句子是否足够相似以归为同一分块。值为 1.0 表示句子相同。值为 0.0 表示句子完全不同。

清除空格

清除输出文本块周围的空格。

关系

名称

描述

original

输入 FlowFile 将路由到 original 关系。

success

文本块会路由到 success 关系。

写入属性

名称

描述

segment.original.filename

输入 FlowFile 的原始文件名。

fragment.identifier

用于生成每个分块的父级 FlowFile ID。

fragment.index

当前 FlowFile 分块的索引,从 0 开始。

fragment.count

生成的 FlowFile 分块的总数。

chunk.start.offsets

chunk.start.offsets 属性仅添加到原始传入的 FlowFile 文件中。它是一个以逗号分隔、表示生成的每个分块的的起始偏移量列表。例如,如果 FlowFile 被拆分为 3 个子 FlowFiles,则可能的值为 0,183,365,这表示第一个分块从第 0 个字符开始,第二个从第 183 个字符开始,第三个从第 365 个字符开始。偏移量基于字符数。

chunk.end.offsets

chunk.end.offsets 属性仅添加到原始传入的 FlowFile 文件中。它是一个以逗号分隔、表示生成的每个分块的的结束偏移量列表。例如,如果 FlowFile 被拆分为 3 个子 FlowFiles,则可能的值为 183,365,548,这表示第一个分块从第 183 个字符开始,第二个从第 365 个字符开始,第三个从第 548 个字符开始。偏移量基于字符数。

chunk.strategy

用于分块文本的策略。可为“Max Chunk Length”、“Recursive Delimiters”、“Sentence”、“Semantic”。

chunk.semantic.threshold

用于确定两个句子是否足够相似以归为同一分块。仅在使用“Semantic”分块策略时添加该属性。

chunk.language

用于解析句子的语言。仅在使用“Semantic”或“Semantic”分块策略时添加该属性。

chunk.delimiters

以逗号分隔的分隔符列表,用于对文本进行分块。仅当使用“Recursive Delimiters”分块策略时添加此属性。

chunk.max.chars

每个分块中包含的最大字符数。

语言: 中文