Skip to content

重复数据过滤

插件名称: plug_repeat_filter

注:(正常过滤插件为在其他插件执行前执行,如需在本条数据分析完后执行,插件名改为 plug_repeat_filter_later) 插件作用:过滤重复数据,当遇到重复记录时则跳过该记录写入 trs 文件,你可以自定义重复数据的标准,定义标准只和输入字段有关。

比如两条记录的 url 链接完全一致,则认为记录重复。

定义方式: 输入字段="IR_URLNAME"

比如两条记录的 标题+网站名称+作者 完全一致,则认为记录重复。

定义方式: 输入字段="IR_URLTITLE+IR_SITENAME+IR_AUTHORS"

服务依赖:redis 或 tair

任务串示例

配置示例
text
:数据处理:输入字段="IR_URLNAME",任务="plug_repeat_filter",参数列表="0+redis",输出字段="是否重复";

任务串解释

  • :数据处理:输入字段="IR_URLNAME" :
    1. 每一组任务串都应以 :数据处理: 开头,末尾以 ; 英文分号结尾。
    2. IR_URLNAME 为记录字段名,此处可以是任意指定字段,多个字段使用加号 + 分割,你也可以使用多个组合字段作为数据重复的判断依据。
    3. 当系统检测到输入字段是链接的时候,会自动过滤掉链接的 http 或 https 头,排除由协议头导致的链接重复准确性问题。
  • 任务="plug_repeat_filter" :
    1. 任务插件固定名称:plug_repeat_filter
  • 参数列表="0" :
    1. 多个参数之间使用加号 + 分割
    2. 第 1 个参数 "0" 代表是否将重复记录保存在缓存中,
    3. 0 表示不保存
    4. 1 表示保存,保存时间默认为 3 天,你还可以通过 saveMd5Time 配置自定义保存 N 天。
    5. 第 2 个参数缓存配置,不填默认 redis,可选择用 tair
    6. redis
    7. tair
  • 输出字段="是否重复"; :
    1. "是否重复" 代表输出字段的描述,你可以任意写一个该输出字段的备注,比如 "过滤结果"。
    2. 通常输出字段 都会使用 (field) 来输出结果到指定字段,但是此插件目的是对重复数据过滤,你可以不再写输出字段,但为了保持任务串格式统一你也可以像这样写一个 输出字段="是否重复"(SY_RESULT); 但这并不影响过滤结果。

其他参数

saveMd5Time : redis 存储有效期,默认为 3 天。超过这个时间新过来的重复数据会重新写入标记,可能导致个别重复数据通过分析进行入库,可根据 redis 资源和实际项目需要适当调整该参数。该参数与 readPath 等参数平级配置

数据业务研发中心