profile

Doug Turnbull

I share search tips, blog articles, and free events I'm hosting about the search+retreval industry, vector databases, information retrieval and more.

Featured Post

Tomorrow: Agent Memory in Turbopuffer

Hey all, Just a note tomorrow I'll be giving a talk on High-Scale Agent Memory in Turbopuffer Its a first step into a larger world! Agent memory helps new sessions feel like they're continuing a conversation not restarting one. Come, have fun, see the mistakes I've made, and get an intro to Turbopuffer. Event link - https://maven.com/p/e48f16/high-scale-agentic-memory-with-turbopuffer Cheers, -Doug Slack Community * Events · Consulting · Training (use code search-tips) You're subscribed to...

This week the Retrieval Augmented Gathering online conference continues! Last week we explored index-only SPLADE, got a demo of tensors in the search engine, and how to think of agentic memory as telemetry. This week we've got talks below: Embeddings don't solve RAG (today) Solving retrieval for agents isn't as simple as chunk + embed. For one, similarity is not relevance. An decides what's relevant depending on not just raw text, but everything that 'surrounds' it. Places it in context....

I've spent the last several years building query classifiers with LLMs. Now Jev has arrived, making this process simpler, faster, and more accurate. I decided to sit down with a simple query understanding task with Jev. It let me make better tradeoffs in recall / precision, while being an order of magnitude faster / cheaper Enjoy: https://softwaredoug.com/blog/2026/09/22/jev-query-understanding.html -Doug Slack Community * Events · Consulting · Training (use code search-tips) You're...

Friday we had a search career Q&A with Brian Pedersen. Recap notes can be found here. Then, we're continuing on with Retrieval Augmented Gathering on Tuesday! What's on deck: Tuesday: Neural search without query-time latency - can we do SPLADE without spinning up a query time inference service w/ GPUs etc by just precomputing at index-time? Kumar Shivendu of QDrant will help us find out Wednesday: Vespa's killer feature: tensors in the search engine. What are tensors? Why does that matter?...

Hey all, Many people may have seen Brian Pedersen share a report from his firm on search hiring team statistics. So what should you, a search professional, take out from Brian's data? I wrote my own blog post reflecting on the implications for those of us working in Information Retrieval, and how to prepare ourselves for the agentic era: https://softwaredoug.com/blog/2026/09/17/state-of-search-career Of course, if this interests you, I'll be speaking with Brian tomorrow with a search career...

My work is split between mature search teams and new AI teams. Search teams are often farther along and manage a mature, traditional search product. AI teams, however, often don't know what they don't know yet. They've just been cobbled together, have built a few agent demos, and are often in the process of discovering the three big mistakes I blog here: Evals+measurement need to dominate a lot of your product thinking Retrieval isn't "one thing" (ie classic RAG) - its extremely custom to...

I'm writing about the weak spots in vector databases. Where you should prod and poke when selecting a vendor. Today: Updating Vector Databases If you think about the old vector search regime, it involved Indexing everything up front Never updating the index Search-only We overindexed on this paradigm, creating data structures focused on good search performance that couldn't tolerate updates. I wrote about how sensitive graph-based vector DBs in particular are to updates, picking on Lucene...

Hey all, I wrote a new article about a technique that has come up over and over in my work, especially in my Cheat at Search training, for doing effective query understanding into a large vocabulary. Instead of asking an LLM to classify into a vocabulary. Ask it to hallucinate fake entities, then resolve those to real ones client side. Save yourself a lot of tokens and use cheaper models. https://softwaredoug.com/blog/2026/08/10/hypothetical-classifications -Doug PS - A reminder that Vectors...

There's a class of search problems where: The total number of records is small ~1 million The index is built up front and doesn't change frequently Don't get hoodwinked into buying a vector database. Just brute-force search your embeddings. A naive Numpy search can do exhaustive vector search at 170QPS. You can replicate and copy that data to scale even further. More in my blog article: https://softwaredoug.com/blog/2026/07/29/just-brute-force-embeddings Wectors Week + Context Camp A reminder...

Almost all my clients face this issue. They want to build a RAG system. They have: Millions of PDFs That turn into Billions of chunks + embeddings Turns into become petabytes of floats That's the recipe of nearly every speculative RAG project I've worked on. A mature search team stands up a vector database and can't tame the sheer scale of data they're facing. That drags project timelines out months while costs skyrocket. It's important to have tools to manage the scale. One often overlooked...