ChunkText 2025.5.31.15¶
捆绑包¶
com.snowflake.openflow.runtime | runtime-chunking-nar
描述¶
将文本进行分块处理,支持按分隔符和最大字符长度递归拆分。每个分块都有以下属性:fragment.identifier、fragment.index、fragment.count、segment.original.filename;这些属性可以供 MergeContent 处理器使用,以便重新合并为原始的 FlowFile。
输入要求¶
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,则可能的值为 |
chunk.end.offsets |
chunk.end.offsets 属性仅添加到原始传入的 FlowFile 文件中。它是一个以逗号分隔、表示生成的每个分块的的结束偏移量列表。例如,如果 FlowFile 被拆分为 3 个子 FlowFiles,则可能的值为 |
chunk.strategy |
用于分块文本的策略。可为“Max Chunk Length”、“Recursive Delimiters”、“Sentence”、“Semantic”。 |
chunk.semantic.threshold |
用于确定两个句子是否足够相似以归为同一分块。仅在使用“Semantic”分块策略时添加该属性。 |
chunk.language |
用于解析句子的语言。仅在使用“Semantic”或“Semantic”分块策略时添加该属性。 |
chunk.delimiters |
以逗号分隔的分隔符列表,用于对文本进行分块。仅当使用“Recursive Delimiters”分块策略时添加此属性。 |
chunk.max.chars |
每个分块中包含的最大字符数。 |