Staging environment
Free Lesson

SearchArray - let's rethink full-text search

60 min
Dec 19, 2025 12:30 PM
Virtual (Zoom)

In this video

What you'll learn

Why search engine DSLs continue to confuse users

Every search engine forces you to learn a DSL. Why we should be removing, not adding, to the cognitive load.

How to build your own full-text search

How I built an in-memory full text search system good enough to recreate core search functionality around dataframe

A different perspective on search APIs

Why representing search relevance in a dataframe creates maximum flexibility over a traditional API

Why this topic matters

What if we could treat a search corpus as a pandas/polars dataframe? Then we could write Python instead of complex query DSL. We could add a title + body score with a a literal Python "+" operator. Or enforce "vespa" is in the title by a simple: scores[title.score('vespa') == 0] = 0. Many of us are used to numpy + pandas + pals. I share how I've rethought search to be about pure Python.

You'll learn from

Doug Turnbull

Doug Turnbull

Black belt search ninja space cowboy (and consultant)

See all products from Doug