tidaldb/tidal/ai-lookup/services/ranking-profiles.md
jx12n 3bcfb3c576 feat: Bazel build, crate docs/ai-lookup, docker images, and engine hardening
- Add BUILD.bazel across tidal, tidal-net, tidal-server, tidalctl for bzlmod build
- Add tidal/ crate docs (README, CHANGELOG, CONTRIBUTING, AGENTS, CLAUDE, API, ARCHITECTURE) and ai-lookup reference
- Add docker standalone/cluster/deploy images, compose, and prometheus config
- Harden WAL (batch format, writer, dedup, diagnostics), text syncer/collectors, and vector registry
- Expand tidalctl CLI and tests; restructure WAL/visibility integration test suites
- Refine tidal-net transport/client/server and tidal-server cluster/scatter-gather
2026-06-07 18:29:38 -06:00

39 lines
1.8 KiB
Markdown

# Ranking Profiles
**Last Updated:** 2026-02-19
**Confidence:** High
## Summary
Ranking profiles are named, versioned scoring functions declared in schema. They reference signals, relationship weights, recency curves, and diversity rules. Profiles live in the database, are versioned alongside data, and can be swapped at query time by name.
**Key Facts:**
- Profiles are schema-level declarations, not application code
- Each profile defines: primary signals, secondary signals, boosts, gates, and diversity rules
- The same profile can operate on different candidate sets (global vs category vs social graph)
- Profiles are versioned — old versions remain queryable
**File Pointer:** `VISION.md:43-55`
## Built-in Profiles
| Profile | Primary Signal | Use Case |
|---------|---------------|----------|
| `for_you` | preference_match + engagement_velocity | Personalized feed |
| `search` | text_relevance + semantic_similarity | Search results |
| `trending` | share_velocity + view_velocity | Trending surfaces |
| `rising` | velocity relative to baseline, age-boosted | Breakout content |
| `following` | created_at DESC | Subscription feed |
| `related` | semantic_similarity + collaborative_filtering | Up next / related |
| `browse` | quality_score (completion + like_ratio + reach) | Category pages |
| `hot` | score / (age + 2)^gravity | Community frontpages |
| `controversial` | max(positive * negative signals) | Debate surfaces |
| `hidden_gems` | high quality, inverse reach | Discovery |
| `notification` | relationship_strength + item quality | Push prioritization |
| `live` | relationship_weight + viewer_count | Live surfaces |
## Related Topics
- [Signals](./signals.md)
- [Query Language](../features/query-language.md)
- [Sort Modes](../features/sort-modes.md)