Calendar Module 1

Let’s Understand Search

Traditional search retrieves documents by matching the words in a query to the words in an index. It’s fast and still useful for precise terms, but it can miss relevant results when people express the same intent differently. In this module, you’ll see how embeddings let search compare meaning, how similarity is measured, and why modern search often combines both approaches.

Follow-along code: Module 1 notebook

Overview

Search has to decide what makes a result relevant. In this module, you’ll learn why matching words falls short and how comparing meaning fixes it. You’ll explore embeddings, cosine similarity, and distance metrics, then see where similarity alone still fails: word order, negation, and exact product codes. You’ll also meet the vocabulary the rest of the course builds on, including collections, points, payloads, and filters. By the end, you’ll have embedded your first text and measured how close its meaning sits to related and unrelated phrases.

Today’s Path

  1. What Is Search?
  2. Why Keyword Search Struggles
  3. How Traditional Search Improved
  4. How It Works: Embeddings
  5. Comparing Meaning: Distance Metrics
  6. Why Similarity Alone Is Not Enough
  7. When a System Needs Both
  8. Further Reading

Before You Start

To run the code locally, use Python 3.9 or later and install the dependencies:

pip install fastembed numpy

The embedding model runs on your CPU. You don’t need a GPU or API keys. The first run downloads the model, so it may take a few minutes and requires an internet connection. Later runs use the cached model.