Files
find/docs/evaluate-search-engine.md
Charles Englebert 2333223c1c Evaluate (#22)
* (backend) add evaluate-search-engine command

I want to automize the search evaluation. This new command
computes performance metrics.

* (backend) improve evaluation

I add more data to my evaluations.

* 📝(backend) add changelog

add changelog and various fixes.

* (backend) add more data

I add more data to evaluation

* (backend) add index management flags

I add --keep-index and --force-reindex flags

* ♻️(backend) remove dependences from test/utils

I remove dependences from test/utils

* 📝(backend) documenting

I add documentation of the command

* ♻️(backend) break unique documents file into text files

I change the data structure of the documents

* 🚨(backend) fix things

things were broken but here I fix them

* ♻️(backend) evaluation app

I move the command to an evaluation app

* 🧪(backend) add tests

I add test on the command

* 🚨(backend) fix thing

thinghs must be fixed.
2025-12-02 09:35:33 +01:00

1.0 KiB

Search Engine Evaluation Command

Overview

this Django command atomizes the evaluation of the search engine by computing 4 metrics: Average Discounted Cumulative Gain, Precision, Recall and F1 score.

Usage

python manage.py evaluate_search_engine <dataset_name> [options]

Required Arguments

  • dataset_name: Name of the evaluation dataset to use. Datasets are located in evaluation/management/commands/data/evaluation/

Optional Arguments

  • --min_score: Minimum score threshold; hits below this score are ignored
  • --keep-index: Preserve the evaluation index after completion
  • --force-reindex: Drop and recreate the index even if it exists

Examples

# Basic evaluation with default settings
python manage.py evaluate_search_engine my_dataset

# Evaluation with minimum score threshold
python manage.py evaluate_search_engine my_dataset --min_score 0.5

# Force reindexing and clean up afterward
python manage.py evaluate_search_engine my_dataset --force-reindex True --keep-index False