Apache StormCrawler 3.4.0 发布:文本提取器重构与多项功能增强
项目概述
Apache StormCrawler 是一个基于 Apache Storm 构建的开源、分布式网络爬虫框架。它专为大规模、可扩展的网络爬取任务设计,提供了丰富的插件和扩展点,能够高效地抓取、解析和索引网页内容。StormCrawler 广泛应用于搜索引擎、数据挖掘、商业智能等领域。
版本亮点
文本提取器重大重构
在 3.4.0 版本中,开发团队对文本提取功能进行了架构层面的重构,这是本次更新的核心变化:
-
接口化改造:原有的
TextExtractor类被重构为一个接口,这为未来的扩展提供了更大的灵活性。接口化设计允许开发者更容易地实现自定义的文本提取逻辑。 -
默认实现更名:原来的
TextExtractor实现类现在更名为JSoupTextExtractor,更准确地反映了其基于 JSoup 库的实现本质。 -
向后兼容性:对于大多数用户来说,如果之前没有在配置中显式指定
textextractor.class,则无需任何修改,系统会自动使用新的默认实现。只有那些自定义了文本提取器的用户需要进行适配。
这项重构为未来支持更多样化的文本提取方式奠定了基础,比如后面会提到的 LLM 集成。
新增 LLM 文本提取器
3.4.0 版本引入了一个创新的 LLMTextExtractor,它利用大型语言模型(如 OpenAI 的 API 或兼容服务)来提取网页文本内容。这个特性为需要高质量内容提取的场景提供了新的选择:
- 能够理解网页的语义结构,提取更相关的内容
- 适用于复杂布局或动态生成内容的网页
- 可通过配置轻松集成各种兼容 OpenAI API 的服务
Solr 连接优化
针对使用 Solr 作为后端的用户,3.4.0 版本带来了两项重要改进:
-
异步查询支持:显著提高了与 Solr 交互的效率,特别是在高并发场景下。
-
云模式批量更新:优化了 Solr Cloud 环境下的批量更新操作,减少了网络开销。
OpenSearch 缓冲配置
对于 OpenSearch 用户,新版本增加了响应缓冲区大小的配置选项,允许根据实际硬件条件和网络环境调整性能参数,这在处理大规模数据时尤为重要。
其他改进
-
依赖库升级:包括 JSoup、Tika、TestContainers 等多个关键依赖的版本更新,带来性能提升和安全修复。
-
测试覆盖率改进:重新启用了测试覆盖率失败时的保留机制,便于问题诊断。
-
文档完善:更新了多个模块的 README 文件,明确了 Java 17 的要求。
-
代理管理器增强:使
ProxyManager返回 Optional 类型,提高了无代理场景下的代码健壮性。
升级建议
对于计划升级到 3.4.0 版本的用户,需要注意以下几点:
-
如果项目中直接使用了
TextExtractor类或通过textextractor.class配置指定了自定义实现,需要相应调整为新的接口和类名。 -
新版本已全面转向 Java 17 环境,确保开发和生产环境兼容。
-
对于使用 Solr 或 OpenSearch 的用户,建议评估新特性带来的性能改进,适当调整配置参数。
-
考虑尝试新的 LLM 文本提取器,特别是在处理复杂网页内容时可能获得更好的效果。
结语
Apache StormCrawler 3.4.0 通过文本提取器的重构和多项功能增强,进一步提升了框架的灵活性和性能。特别是 LLM 集成展示了项目对新兴技术的快速适应能力,为高质量内容提取提供了新的可能性。这些改进使得 StormCrawler 在大规模网络数据采集和处理领域继续保持领先地位。
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00