Skip to Main Content
Workshop Intermediate Presentation materials: CC BY-SA 4.0. Movie metadata: CC0 (Wikidata). Movie plot text: CC BY-SA 4.0 (Wikipedia contributors) First Talk

When a Search Box Becomes a Search Engine

Proposal status is Review Pending
Session Description

"We just need a search box." A PostgreSQL ILIKE query gets you started. Then come the requests: handle typos, autocomplete as people type, rank results better, and add filters and facets.

In this hands-on workshop, we’ll build a movie-search app and work through those requirements. We’ll start with PostgreSQL, examine how it executes our query, and look at what pg_trgm and GIN indexes can do. Then we’ll discuss when it makes sense to use a dedicated search engine and introduce Typesense.

You’ll run Typesense locally with Docker, define a collection schema, and import over 4,500 Hindi films through its HTTP API. Using Vite, vanilla JavaScript, and InstantSearch.js, you’ll build a search interface, adjust field weights, try misspelled queries, and add faceted filters.

Once we’ve built it manually, we’ll look at create-typesense-app and the official code samples to see which setup steps we can skip next time. We’ll finish with a demo of local embeddings and conversational search, using a query like "movie where Salman Khan is a wrestler" to compare keyword matching with searching by meaning.

Bring a laptop with Docker and Node.js installed. You should be comfortable with basic SQL, JavaScript, and terminal commands, but you don’t need any Typesense experience.

Key Takeaways
  • Understand when PostgreSQL search is sufficient and when a dedicated search engine is worth the added infrastructure.

  • Create a Typesense collection and import a movie dataset through its HTTP API.

  • Build a typo-tolerant search interface with weighted fields and faceted filters.

  • Understand the difference between keyword matching and semantic search.

  • Use create-typesense-app and official examples to build further.

References

Session Categories

Technology architecture
Tutorial about using a FOSS project
Talk License: Presentation materials: CC BY-SA 4.0. Movie metadata: CC0 (Wikidata). Movie plot text: CC BY-SA 4.0 (Wikipedia contributors)
Speakers are hidden and anonymized for this event.