~/talk

Building a Search Engine

Talkat PyData Seattle 2023 · on Wednesday, 2023-04-26· at 15:30· Rainier· [large-language-models, machine-learning]
slides:none on file

Demo builds a working search stack: index 25k Unsplash captions into BM25 on Lucene (Elasticsearch) at about 5000+ docs/sec, then compare against embeddings from sentence-transformers MiniLM and CLIP hosted on Hugging Face. Embedding retrieval yields qualitatively better matches for many queries but raises latency (Elasticsearch hits ≈3 ms, naive embedding matrix search ≈200 ms) and cost, so workshop shows FAISS/IVF + nprobe ANN to scale recall; notebooks and code on the provided GitHub reproduce the experiments and tradeoffs.

AI-written summary · about

  1. 0:00Building a search engine
  2. 1:27Workshop setup
  3. 5:00Dataset and traffic
  4. 9:38Token-based retrieval
  5. 15:08BM25 algorithm
  6. 19:34Elasticsearch implementation
  7. 36:45Token retrieval limits
  8. 39:54Embedding-based retrieval
  9. 48:06How embeddings work
  10. 53:25Sentence Transformers
  11. 1:05:28Embedding performance
  12. 1:06:32CLIP multimodal embeddings
  13. 1:13:51Vector databases scaling
  14. 1:19:53Approximate nearest neighbor
  15. 1:21:17Token vs embedding comparison
  16. 1:24:31Production search stack
  17. 1:27:45Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.