# search-eval — repo context

> Curated overview for code_search. Source: `direqt-search/search-eval` (GitHub). Vue + Express.

## Purpose
Web tool for **evaluating and comparing search quality** using **NDCG@k** scoring.
Create test suites of queries with expected results, run them against different
search-engine configurations, and analyze results with detailed scoring and
Google Sheets reports.

## Features
Test-suite evaluation · engine comparison (side-by-side) · create test suite (from
Google Sheets or a query list, with auto relevance judging) · edit test suite ·
single-query tester.

## Architecture
Two independent processes (no database — data is JSON files):
- **Frontend**: Vue 3 SPA (Vite 4, TS) — `src/`, port **3232**
- **API**: Express 5 (TS) — `api/`, port **5032** (separate `package.json`/`node_modules`)
- Data: `data/bots/index.json`, `data/testSuites/*.json`. Long ops stream via **SSE**.

## Scoring
NDCG@k at k = 1,3,5,10. Relevance grades: Perfect 4 · Excellent 3 · Good 2 · Fair 1 · Bad/Unknown -1.

## Tech
Vue 3 · Express 5 · TypeScript · `googleapis` (Sheets) · `chart.js` · Zod · PM2 (runs both processes).
Depends on `@direqt-internal/{index-api,search-api}`.
