Anserini Fatjar Download for Users
May 16, 2026 Ā· View on GitHub
This page is intended for users. If you are a coding agent, stop reading. Nothing here is applicable to you.
The preferred way to use the Anserini fatjar is via agent skills in ../.agents/skills/.
This documentation is provided for users who wish to play with the fatjar "by hand".
The most recent version of the fatjar is v2.1.1: additional information is provided in this brief guide.
Assuming you've already got Java 21 installed (Yes, you need exactly this version), fetch the fatjar:
curl -fL -o anserini-2.1.1-fatjar.jar https://repo1.maven.org/maven2/io/anserini/anserini/2.1.1/anserini-2.1.1-fatjar.jar
Do a BM25 run on the venerable MS MARCO passage corpus using the dev queries:
java -cp anserini-2.1.1-fatjar.jar io.anserini.search.SearchCollection \
-index msmarco-v1-passage \
-topics msmarco-v1-passage.dev \
-output run.msmarco-v1-passage.dev.bm25.txt \
-bm25
To evaluate:
java -cp anserini-2.1.1-fatjar.jar trec_eval -c -M 10 -m recip_rank msmarco-v1-passage.dev \
run.msmarco-v1-passage.dev.bm25.txt
You should get an MRR (recip_rank) of 0.1840.
To try out (learned) dense vector representations and (learned) sparse vector representations, see the examples below.
ā Beware, Anserini ships with many prebuilt indexes, which are automatically downloaded upon request: these indexes can take up a lot of space. See this guide on prebuilt indexes for more details.
Retrieval with Learned Dense Vector Representations
Want to do dense vector search? Anserini's got you covered. For example, same as above (MS MARCO passage, dev queries) using the BGE model (en, v1.5):
java -cp anserini-2.1.1-fatjar.jar io.anserini.search.SearchHnswDenseVectors \
-index msmarco-v1-passage.bge-base-en-v1.5.hnsw \
-topics msmarco-v1-passage.dev \
-encoder BgeBaseEn15 \
-output run.msmarco-v1-passage.dev.bge.txt \
-efSearch 1000
To evaluate:
java -cp anserini-2.1.1-fatjar.jar trec_eval -c -M 10 -m recip_rank msmarco-v1-passage.dev \
run.msmarco-v1-passage.dev.bge.txt
You should get an MRR (recip_rank) of 0.3575.
Retrieval with Learned Sparse Vector Representations
Want to do retrieval with (learned) sparse vector representations? Anserini's also got you covered. For example, same as above (MS MARCO passage, dev queries) using SPLADE-v3:
java -cp anserini-2.1.1-fatjar.jar io.anserini.search.SearchCollection \
-index msmarco-v1-passage.splade-v3 \
-topics msmarco-v1-passage.dev \
-encoder SpladeV3 \
-output run.msmarco-v1-passage.dev.splade-v3.txt \
-impact -pretokenized
To evaluate:
java -cp anserini-2.1.1-fatjar.jar trec_eval -c -M 10 -m recip_rank msmarco-v1-passage.dev \
run.msmarco-v1-passage.dev.splade-v3.txt
You should get an MRR (recip_rank) of 0.4000.
Older Documentation
- Anserini v2.1.0
- Anserini v2.0.0
- Anserini v1.7.1
- Anserini v1.7.0
- Anserini v1.6.0
- Anserini v1.5.0
- Anserini v1.4.0
- Anserini v1.3.0
- Anserini v1.2.2
- Anserini v1.2.1
- Anserini v1.2.0
- Anserini v1.1.1
- Anserini v1.1.0
- Anserini v1.0.0
- Anserini v0.39.0
- Anserini v0.38.0
- Anserini v0.37.0
- Anserini v0.36.1
- Anserini v0.36.0
- Anserini v0.35.1
- Anserini v0.35.0