Build Your Own Search Engine
We build a search engine from scratch over DataTalks.Club Zoomcamp FAQ
documents. We start with TF-IDF text search, then add cosine similarity and
field boosting. From there we move through SVD/LSA and BERT embeddings to
vector search. The TextSearch class built during the workshop became the basis
for the minsearch library
used in later RAG and agent workshops.
What we cover:
- TF-IDF text search with sklearn, cosine similarity, field boosting and keyword filtering
- A reusable
TextSearchclass that becomes minsearch - Vector search using SVD and NMF embeddings
- BERT embeddings for semantic search that respects word order
Originally delivered at a DataTalks.Club live session in 2024, updated in 2026 with refreshed examples and tooling.
Links
Resources not included in the workshop materials list:
The search engine you will build
We take two approaches to search over the same FAQ data:
Text search uses TF-IDF vectorization, weights the question field three
times as much as the others, and filters by keyword. Vector search replaces
sparse representations with dense embeddings (SVD, NMF, then BERT) to handle
synonyms and word order. Both paths share the TextSearch class we build
along the way, which combines TF-IDF across multiple fields with boost weights
and keyword filters.
Tutorial pages
Watch the recording
Recording available with Free with sign-in.
Free with sign-in View code on GitHubSign in to access this workshop
This workshop is free — you just need an account. Sign in or create one in seconds.
Sign InBy creating an account, you agree to our Terms of Service and Privacy Policy.
By signing up free, you'll receive community updates. You can unsubscribe at any time.
Related content
Build Your Own Search Engine
We build a search engine from scratch over DataTalks.Club Zoomcamp FAQ documents. We start with TF-IDF text search, then add cosine similarity and field boosting. From there we mo…
May 21, 2024
Build a Documentation RAG Agent with Search Tools
We build a RAG system over real documentation and evolve it into an agentic search flow. For the knowledge base we use the Evidently AI documentation, a real set of Markdown files…
May 04, 2026
Build a Course FAQ Agent with MCP, PydanticAI and OpenAI
We build a course FAQ assistant from the bottom up. First we expose a plain Python search(query) function to the OpenAI Responses API. Then we turn the same idea into a reusable a…
September 01, 2025