主题
重复数据过滤
插件名称: 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" :
- 每一组任务串都应以 :数据处理: 开头,末尾以 ; 英文分号结尾。
- IR_URLNAME 为记录字段名,此处可以是任意指定字段,多个字段使用加号 + 分割,你也可以使用多个组合字段作为数据重复的判断依据。
- 当系统检测到输入字段是链接的时候,会自动过滤掉链接的 http 或 https 头,排除由协议头导致的链接重复准确性问题。
- 任务="plug_repeat_filter" :
- 任务插件固定名称:plug_repeat_filter
- 参数列表="0" :
- 多个参数之间使用加号 + 分割
- 第 1 个参数 "0" 代表是否将重复记录保存在缓存中,
- 0 表示不保存
- 1 表示保存,保存时间默认为 3 天,你还可以通过 saveMd5Time 配置自定义保存 N 天。
- 第 2 个参数缓存配置,不填默认 redis,可选择用 tair
- redis
- tair
- 输出字段="是否重复"; :
- "是否重复" 代表输出字段的描述,你可以任意写一个该输出字段的备注,比如 "过滤结果"。
- 通常输出字段 都会使用 (field) 来输出结果到指定字段,但是此插件目的是对重复数据过滤,你可以不再写输出字段,但为了保持任务串格式统一你也可以像这样写一个 输出字段="是否重复"(SY_RESULT); 但这并不影响过滤结果。
其他参数
saveMd5Time : redis 存储有效期,默认为 3 天。超过这个时间新过来的重复数据会重新写入标记,可能导致个别重复数据通过分析进行入库,可根据 redis 资源和实际项目需要适当调整该参数。该参数与 readPath 等参数平级配置