Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Extend the search into a tuned-relevance + analytics app. Requirements: use `multi_match` across several fields with per-field BOOSTS and `fuzziness`; TUNE relevance with boosts and/or a `function_score` (e.g. recency or popularity) and use the `_explain` API to justify a ranking; build AGGREGATIONS for a dashboard (a `terms` or `date_histogram` bucket with a nested metric like avg/sum/cardinality, using `size: 0`); paginate correctly (use `search_after` for deep pages rather than `from`/`size` past 10,000); and add a custom analyzer or `edge_ngram` autocomplete (with a separate search analyzer). Justify one relevance decision with evidence from `_explain`.
multi_match with boosts + fuzziness; a justified tuning (field boosts and/or function_score) backed by _explain output.
A bucket aggregation (terms/date_histogram) with a nested metric agg, size:0, suitable for a dashboard.
Correct deep pagination with search_after (not from/size past 10k); a custom analyzer or edge_ngram autocomplete with a separate search analyzer.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Relevance tuning + an aggregations dashboard ## Goal Extend the search into a tuned-relevance + analytics app. Requirements: use `multi_match` across several fields with per-field BOOSTS and `fuzziness`; TUNE relevance with boosts and/or a `function_score` (e.g. recency or popularity) and use the `_explain` API to justify a ranking; build AGGREGATIONS for a dashboard (a `terms` or `date_histogram` bucket with a nested metric like avg/sum/cardinality, using `size: 0`); paginate correctly (use `search_after` for deep pages rather than `from`/`size` past 10,000); and add a custom analyzer or `edge_ngram` autocomplete (with a separate search analyzer). Justify one relevance decision with evidence from `_explain`. ## Acceptance criteria - [ ] Relevance tuning: multi_match with boosts + fuzziness; a justified tuning (field boosts and/or function_score) backed by _explain output. - [ ] Aggregations: A bucket aggregation (terms/date_histogram) with a nested metric agg, size:0, suitable for a dashboard. - [ ] Search UX: Correct deep pagination with search_after (not from/size past 10k); a custom analyzer or edge_ngram autocomplete with a separate search analyzer. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.