# Anserini

Anserini is a Lucene toolkit for reproducible information retrieval research

Repository: https://github.com/castorini/anserini
Canonical: https://ross.abutalabs.com/products/anserini
Homepage: http://anserini.io/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: information-retrieval, lucene
Last push: 2026-09-02T19:39:53+00:00
Link (homepage): http://anserini.io/

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 100, release rhythm 35, longevity 100
- inputs: {"age_days": 3985, "days_push": 0, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1191, forks 673 (observed 2026-09-03T02:15:09.831773+00:00)

## What it is
Pyserini is a Python toolkit for reproducible information retrieval research supporting both sparse (via Anserini/Lucene) and dense (via Faiss) representations. It bundles queries, relevance judgments, prebuilt indexes, and evaluation scripts for standard IR test collections, with a REST API and MCP server.

## Use cases
- reproduce BM25 baseline runs on standard IR test collections
- run dense retrieval with prebuilt indexes for first-stage ranking
- build a multi-stage ranking pipeline with reproducible retrieval
- evaluate retrieval runs with trec_eval-style scripts
- search MS MARCO and other benchmark corpora
- expose retrieval via a REST API or MCP server

## When to choose
- you need reproducible, benchmarked sparse and dense retrieval in Python
- you want prebuilt indexes and judgments for common IR test collections
- you're doing academic IR research or building RAG first-stage retrieval

## When to avoid
- you need a production search engine with indexing, sharding, and serving out of the box
- you want a simple plug-and-play vector store without Java 21 dependencies
- your use case is general web search rather than benchmark-oriented retrieval

## Facets
- artifact type: library
- maturity: active
- function: search-engine, rag, machine-learning, sdk
- domain: -
- platform: python, jvm, cli, cross-platform
- tags: information-retrieval, sparse-retrieval, dense-retrieval, bm25, faiss, lucene, test-collections, first-stage-retrieval, mcp-server, rest-api, search, natural-language-processing, research

## Member repositories
- castorini/anserini (main) score 77
- castorini/pyserini (sdk) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-09-03T02:15:09.831773+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:50:38.835348+00:00, confidence not recorded.
  - readme: https://github.com/castorini/anserini (fetched 2026-09-03T02:15:09.831773+00:00, sha 68152f047300)
  - homepage: http://anserini.io/ (fetched 2026-08-29T10:30:40.175800+00:00, sha 80b309a0162a)
  - registry_pypi: https://pypi.org/pypi/pyserini/json (fetched 2026-08-29T10:30:40.178360+00:00, sha a530273a5fe6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
