Evergreen
Search vs Recommendation Systems, Clearly Explained
Learn how search, candidate retrieval, ranking, recommendation, and generation differ, where they overlap, and how to evaluate the right media-discovery problem.
Search and Recommendation Are Different Problems
Search starts with something a person asks for. Recommendation starts with a system predicting what may be useful or engaging. Both can retrieve and rank media, and both may use embeddings or machine learning, but they do not begin with the same evidence or optimize the same user relationship.
Calling everything "AI search" hides the product decision.
flowchart LR
Q["Explicit query"] --> I["Interpret intent"]
I --> R["Retrieve eligible candidates"]
R --> K["Rank for this need"]
K --> S["Search results"]
U["User, item, and context signals"] --> C["Retrieve candidates"]
C --> P["Predict and rank"]
P --> F["Recommended feed"]
S --> G["Optional generated answer"]
F --> G
Search begins with expressed intent
When a user types "minimalist workwear Reels for hot weather," the query is evidence. The system can interpret the words, apply filters, retrieve candidates, and rank them against that request.
The user controls the initiation and can revise the language. That makes failure inspectable. A result may be irrelevant because the query was ambiguous, the corpus lacked the right item, the index omitted it, retrieval missed it, ranking preferred the wrong signal, or permissions removed it.
Semantic search changes how meaning is matched. It may retrieve an item whose caption does not share the exact query words. Lexical search remains useful for names, identifiers, exact phrases, dates, and rare terms. Many systems combine the two.
Recommendation begins with predicted usefulness
A recommended feed may have no current query. It can use viewing history, follows, item features, session context, popularity, freshness, device, location, or other permitted signals to select candidates.
Production recommenders often use multiple stages. TensorFlow Recommenders describes a retrieval stage that selects hundreds of candidates from a much larger corpus, followed by ranking that narrows them to a useful shortlist. TensorFlow's broader recommendation-system overview adds a possible post-ranking stage.
The system is still retrieving and ranking. The difference is the job and the evidence used to represent it.
Search asks, "What best answers this expressed need?" Recommendation asks, "What should this person see next under the product's objectives and constraints?"
Ranking is not the same as retrieval
Retrieval determines which items can compete. Ranking orders the candidates that survived.
That distinction is essential. A perfect ranker cannot surface a relevant video that retrieval never returned. A broad retriever can create latency and noise that make ranking harder. Approximate nearest-neighbor search can improve speed at the cost of some retrieval accuracy.
The TensorFlow retrieval task describes separate query and candidate representations for efficient candidate selection. That is an architecture pattern, not a statement that every search or recommender uses the same model.
When a team says "the result ranked badly," first check whether the item was in the candidate set.
Generation is another layer
A generative model can rewrite a query, infer filters, describe results, answer a question from retrieved material, or produce a conversational interface. It can improve usability. It can also conceal the boundary between what was found and what was inferred.
Generation does not repair a missing or unauthorized corpus. It does not prove that the best source was retrieved. It can produce a fluent answer from weak candidates.
The interface should preserve provenance. If the answer says a video demonstrates a technique, the reader should be able to inspect the video, creator, date, caption, and reason it matched.
E028's [[How to Ground an Assistant in a Curated Knowledge Base]] applies the same principle to assistant knowledge.
One Reel can take two paths
E026 records Dalton Anderson asking Meta AI to show Reels about fashion, home decor, product creatives, and places to eat. That is a search-like interaction because he expressed an information need.
The same Reel might appear in an Instagram feed because a recommendation system predicted engagement or usefulness. The item is identical, but the reason for selection is different.
| Question | Search path | Recommendation path |
|---|---|---|
| What starts it? | A query or explicit filters | User, item, and context signals |
| What does success mean? | Satisfy this information need | Serve useful items under stated objectives |
| How does the user steer? | Revise query and filters | Feedback, controls, profile, or behavior |
| Common failure | Relevant item is missed or ranked low | Feed objective conflicts with user intent |
| Core evaluation | Query-level relevance and coverage | Utility, diversity, calibration, and long-term effects |
Similar result cards do not make the systems interchangeable.
Name the discovery job before choosing a metric
If a user needs one known item, measure success for known-item retrieval. If the job is exploration, evaluate coverage, diversity, novelty, and control. If the feed should support discovery over time, include repeated exposure, feedback loops, creator concentration, and long-term user outcomes.
Clicks and watch time can be useful signals, but they are not universal definitions of relevance or benefit. A sensational result may win the click while failing the information need. A result can satisfy the user so quickly that it produces less engagement.
Search evaluation should begin with representative queries and relevance judgments. Elastic's ranking evaluation documentation describes using typical searches, rated documents, and metrics such as precision, mean reciprocal rank, and discounted cumulative gain.
[[How to Evaluate Semantic Search for a Media Library]] turns that idea into a versioned test that also covers permissions, deletion, privacy, latency, and failure recovery.
Use precise product language
Describe the path the product actually implements. "Natural-language retrieval over a permission-filtered media index" is more useful than "AI discovers content." "Personalized candidate retrieval and ranking" is more useful than "the algorithm knows what you want."
Precision makes ownership clearer. Corpus policy belongs somewhere. Permission filters belong somewhere. Retrieval and ranking have separate tests. Generated answers need citations and faithfulness checks. Feedback needs a defined effect and an escape route.
This explainer was developed with AI assistance from E026, current TensorFlow and Elastic documentation, and the linked system map. Dalton Anderson remains the author. Product-specific implementations require direct inspection and testing. Editorial, product, technical, privacy, source, accessibility, and founder review are required before publication. Publication is not authorized.
Sources
Follow the evidence.
- Introducing Llama 3.1ai.meta.com
- tensorflow.org: recommendation systemstensorflow.org
- ai.meta.com: the llama 3 herd of modelsai.meta.com
- csrc.nist.gov: finalcsrc.nist.gov
- tensorflow.org: Retrievaltensorflow.org
- NIST AI Risk Management Frameworknist.gov
- github.com: MODEL CARDgithub.com
- open.spotify.com: 5xmE0hYheRvBOoqaQCyUokopen.spotify.com
- NIST AI Resource Centerairc.nist.gov
- Meta Llama models repositorygithub.com
- nist.gov: 7 tips keep your smart home safer and more private nist cybersecuritynist.gov
- youtu.be: J2I1fJW1sB4youtu.be
- etsi.org: 2457 etsi releases new guidelines to enhance cyber security for consumer iot devicesetsi.org
- github.com: USE POLICYgithub.com
- elastic.co: search rank evalelastic.co
- daltonanderson.ghost.io: metas ai power play llama 3 smart reel searchdaltonanderson.ghost.io
- tensorflow.org: basic retrievaltensorflow.org
- github.com: LICENSEgithub.com