搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

castorini/anserini

数据

基于 Lucene 的 Java 信息检索工具包,用于可复现实验和搜索基线对比。

1,225
757
Java
Apache-2.0
创建于 11 年前

项目介绍

Anserini 把 Apache Lucene 封装成一套面向可复现信息检索研究的工具包。它主要服务两类人:需要建立检索基线、比较不同实验结果的学术研究者,以及希望用统一方式索引文档集合、跑检索实验的工程人员。项目源于 2016 年对多个开源检索引擎的复现研究,后续在 SIGIR 2017 和 JDIQ 2018 的论文中有完整设计说明 项目概述。

实现上基于 Java 和 Lucene 10.5.0,并发布到 Maven Central Lucene 版本 Maven 构件。大部分能力也通过 Python 接口 Pyserini 暴露,因此习惯 Python 的用户可以从 Pyserini 入手,复用相同的索引和检索方法 Pyserini。

快速使用

README 给出的最简路径是使用自包含的 fatjar:按照 fatjar 安装文档操作,随后通过 CLI 技能或复现指南执行搜索和实验流程 fatjar 安装。如果希望从源码建立完整开发环境,则使用单独的开发环境安装文档 开发环境安装。项目官方入门入口是 start-here 页面 start-here。

README 还为编程代理提供了操作说明:代理应先读取 install-anserini-fatjar 或 install-anserini-dev-env 技能,再完成安装;预构建索引、话题、搜索和 REST 工作流使用 anserini-cli;复现实验使用 anserini-reproduction 代理说明。

复现实验

项目提供两条复现路径:一条基于预构建索引 预构建索引复现,另一条从原始文档集合开始构建 文档集合复现。两者都面向普通用户和编程代理,适合需要重新跑通已发表基线的场景,而不只是临时做搜索。

使用约束

这是围绕 Lucene 构建的研究工具包,使用方式偏 Java,并依赖 Lucene 10.5.0。原来的 tools/ 子模块已被移除,topics 和 qrels 改为外部评估仓库中独立的 topics/ 和 qrels/ 目录;依赖旧 topics-and-qrels/ 稳定路径的下游消费者会受影响,且在该依赖固定提交之前的旧提交可能不可用 迁移说明。项目采用 Apache-2.0 许可 许可证。

HotRepo 点评

2026-11-05,Anserini 在 Java 语言日榜中新增 17 个 Star,当天在该榜单位列第 18。这反映 Java 检索用户仍有持续关注,但它只是单个语言日榜快照,不足以说明更大范围的热度趋势。对需要文档化、可重复运行的检索基线的团队来说,这个工具包的价值最明确;同时,tools/ 子模块的移除和提交固定是重要兼容性变化,围绕其数据路径搭建工作流前需要先核对。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。