TigerData logo
TigerData logo
  • Product

    Product

    Tiger Cloud

    Robust elastic cloud platform for startups and enterprises

    Open source

    TimescaleDB

    Time-series, real-time analytics and events on Postgres

    Search

    Vector and keyword search on Postgres

  • Industry

    Crypto

    Energy Telemetry

    Oil & Gas Operations

  • Docs
  • Pricing

    Pricing

    Enterprise Tier

  • Developer Hub

    Changelog

    Benchmarks

    Blog

    Community

    Customer Stories

    Events

    Support

    Integrations

    Launch Hub

  • Company

    Contact us

    About

    Timescale

    Partners

    Security

    Careers

Log InStart a free trial
TigerData logo

Products

Time-series and Analytics AI and Vector Enterprise Plan Cloud Status Support Security Cloud Terms of Service

Learn

Documentation Blog Tutorials Changelog Success Stories Time-series Database

Company

Contact Us Careers About Brand Community Code Of Conduct Events

Subscribe to the Tiger Data Newsletter

By submitting, you acknowledge Tiger Data's Privacy Policy

2026 (c) Timescale, Inc., d/b/a Tiger Data. All rights reserved.

Privacy preferences
LegalPrivacySitemap

Back to blog

Copy as HTML

Open in ChatGPT

Open in Claude

Open in v0

J

By Jacky Liang

7 min read

Jul 10, 2025

AIThought Leadership

Table of contents

01 Why LLMs Need Search at All02 Why Vectors Became Synonymous with AI Search03 Similarity != Relevance04 Not All Text Has Semantic Meaning05 Why Claude Code Destroys Cursor06 The 50-Year-Old Utility That Never Dies07 Reading the Cursor Tea Leaves08 So What Should We Take From This?09 Additional Reading

Spend more time improving your AI app and less time managing a database.

Start building

Why Cursor is About to Ditch Vector Search (and You Should Too)

Why Cursor is About to Ditch Vector Search (and You Should Too)

Back to blog

AI

J

By Jacky Liang

7 min read

Jul 10, 2025

Table of contents

01 Why LLMs Need Search at All02 Why Vectors Became Synonymous with AI Search03 Similarity != Relevance04 Not All Text Has Semantic Meaning05 Why Claude Code Destroys Cursor06 The 50-Year-Old Utility That Never Dies07 Reading the Cursor Tea Leaves08 So What Should We Take From This?09 Additional Reading

Copy as HTML

Open in ChatGPT

Open in Claude

Open in v0

Spend more time improving your AI app and less time managing a database.

Start building

Every conversation about AI and LLM apps eventually lands onto the same buzzwords: retrieval augmented generation (RAG), vector databases, context engineering (yet another new term!!!), prompt engineering (apparently this is out now?), etc. 

Every few months, we get new words that make the last one obsolete. 

Strip away the VC-approved, Twitter-140-char-friendly jargon and you'll find something simpler underneath… 

AI is just search. 

That’s it. 

Unfortunately, the tech industry got drunk on vector databases thinking they could solve everything. Two years later after the 2023 vector DB investment peak, companies are learning that similarity != relevance, and sometimes, good ol’ lexical search destroys semantic similarity. 

Building a coding agent? A customer support chatbot? E-commerce search? Different problems need different search techniques. 

There’s a reason Claude Code is nibbling at Cursor’s market share, so much that they literally hired the Claude Code team—it’s all in its search. 

image

Why LLMs Need Search at All 

Before we get into why AI is simply just search, we need to first walk through the history of why AI and LLMs need search at all. 

Large language models are trained up to a certain date, known as the cut-off date, meaning their training data doesn’t include information after a certain point in time. Even the most recently released models like Claude Sonnet 4 have a cut-off date of March 2025.

Cut-off date aside, now what if you want to ask an LLM today’s weather? Ask about how your company won the most recent deal (where the data is in Slack and Salesforce, not in the public)? Why did Timescale change their name to Tiger Data?

You now need external data. 

Retrieval augmented generation (RAG) with vector search became the default for adding external data to LLMs that do not implicitly have access to data up to a certain point OR private/proprietary data that wasn’t part of their training. 

Why Vectors Became Synonymous with AI Search

Vector search promised to solve this “not enough information” problem by finding information that is most semantically similar to the question. 

Obviously, like all good hype cycles the industry ran with it because it sounded cool and AI-native. Companies like Pinecone (I’ve worked here btw), Weaviate, Qdrant—all rode this AI wave and raised massive rounds in late 2023 because folks believed vector search could handle any workload. 

Vector search and vector databases became the go-to solution for all your external AI data problems. Embedding model providers like Voyage AI also rode this wave because you need embedding models to translate text to their semantic mathematical representations (vectors). 

So now, the entire tech industry believes AI apps = vector databases. You NEED a vector database for every AI app. 

Similarity != Relevance

Two years later in 2025, the climate for vector database companies looks... rough. I should know,  I personally lived through the downturn firsthand at such a vector database company.  

And the reason is pretty simple… 

Turns out, vector databases actually aren't THE solution for everything. There are inherent limitations and downsides to using/implementing/maintaining vector databases that the industry is finally discovering.

Vector search gives you "most similar" stuff, but not necessarily "most relevant" stuff. This is especially painful when it comes to coding, or any use case that requires specificity. 

Not All Text Has Semantic Meaning 

When coding, if you're searching for getUserById, you need an exact match of the function name. getUserById is an identifier, not a concept—but vector search might return findUserByEmail, updateUserProfile, or deleteUserAccount because they're semantically similar. Close enough for conversational use cases; completely wrong for code.

In customer support, when you need the manual for part "P/N 4B0-959-855-A", you need that exact document. "P/N 4B0-959-855-A" is a reference number, not meaningful text—but vector search gives you the top 10 most semantically similar part numbers like "4B0-959-855-B" or "4B0-959-856-A", which is useless when you're trying to fix a broken machine.

For e-commerce, searching for Nike SKU "DQ4312-101" should return that exact product first. "DQ4312-101" is a product code, not descriptive content—but vector search might surface "DQ4312-102" (wrong colorway) or "DQ4311-101" (different shoe entirely) because the numbers are similar. Costly mistakes if you're shipping out wrong sneakers, times 1000.

When searching for "Dark Side of the Moon" on Spotify, you want the exact Pink Floyd album, not similar song names like Kelly Clarkson's "Dark Side" or "The Killing Moon" by Echo & the Bunnymen. 

Vector search should not be applied to text where semantic similarity is irrelevant.

Why Claude Code Destroys Cursor

Claude Code uses pure lexical search (keyword matching) instead of vector search when searching for relevant context (such as, where is this function defined? What files import this module? How is this API endpoint implemented?), and the results speak for themselves. 

As someone who used Cursor for 12 months (thank you Zack Proser for intro-ing me to it), was one of the biggest Cursor simps, and swore AI coding couldn't get better—I canceled my Cursor sub this week. Did not think I would ever do this. 

But… Claude Code is that much better.

image

With Cursor, you constantly need to manually tag files using @ symbols because it often can't find the right context on its own. You need to know your codebase exceptionally well just to help the AI understand what's relevant. 

One big reason why people love Claude Code is because it finds the right files automatically, you don’t need to manually tag a bunch of folders and files. In large or codebases new to you, this is especially beautiful of an experience. 

The 50-Year-Old Utility That Never Dies

Claude Sonnet 4 and Opus 4 in Claude Code don’t guess. 

They search in a surgically precise way using good ol’ grep, a 50-yr-old utility. 

For example—need to find React components using hooks?

grep -r "useState\|useEffect" --include="*.jsx" --include="*.tsx"

Need files importing a specific module?

grep -r "import.*react-router" --include="*.js"

Claude Code goes one step further in its lexical search implementation. 

Claude will  keep searching for matches (AKA agentic search) until it either finds what it needs OR rules out that no such dependency or function exists. Only then does it write code, knowing it/you haven’t already written it elsewhere—preventing spaghetti code and redundant implementations, a very common problem Cursor’s agent does. 

For coding, similarity != relevance. Similarity is fuzzy; relevance is precise and exact.

Note: agentic search for coding agents is not new (relevant reading 1, 2, 3), but I’d say Claude Code perfected it. 

Reading the Cursor Tea Leaves 

Evidence suggests Cursor’s team most definitely agrees Claude Code is better, because they literally hired two of Claude Code’s leads Boris Cherny and Cat Wu to join them in July 2025. 

Hmm… 

I made a prediction that Cursor may ditch vector search for code entirely (they currently use turbopuffer as their vector database), and just use lexical search entirely. 450,000 impressions on LinkedIn later, I think this prediction may not be so off-base.

image

So What Should We Take From This?

"Okay Jacky," you may say, "this all sort of makes sense, but how does this help me and my product at all?"

Good question!

If there are things you should take from reading this piece, it's the following: 

  1. AI is search—don't default to "AI/RAG = vector database" Stop assuming every AI application needs a vector database. Sometimes a simple keyword search or even a basic database query is exactly what you need.
  2. Think about the job to be done, then choose the right search technique Building a code assistant? Use lexical search like Claude Code. Building a customer support chatbot that needs to understand intent? Vector search might be perfect. Building an e-commerce search? You probably need both.
  3. Different problems need different tools: exact matching vs. semantic similarity When users search for "iPhone 16 Pro Max 256GB Space Black," they want that exact product, not semantically similar phones. When they ask "how do I reset my password," semantic similarity helps find relevant help articles.
  4. The industry is growing up—no longer a one-size-fits-all solution The smartest companies are already moving beyond pure vector search. Pinecone has cascading retrieval, turbopuffer has hybrid search, Elasticsearch has reciprocal rank fusion, and Snowflake Cortex combines multiple search techniques.

And here’s the thing—most real-world AI apps actually need both lexical and vector approaches working together. 

This is called hybrid search, and it’s where the industry is heading. 

In the coming articles, I’ll show you how to build multi-search systems using Postgres that combine the surgical precision of lexical search, fuzzy precision of full text search, with semantic understanding of vector search. 

Additional Reading 

  1. How Instacart Built a Modern Search Infrastructure on Postgres
  2. Simon Willison’s Weblog: Context Engineering 
  3. What AI Engineers Should Know about Search
  4. X.com post about why Claude ditched RAG for agentic discovery 
  5. X.com post: Search is the natural abstraction for augmenting AI with moving context 
  6. Why I No Longer Recommend RAG for Autonomous Coding Agents
  7. Anthropic Revenue Hits $4 Billion Annual Pace as Competition With Cursor Intensifies
  8. Why Cline Doesn't Index Your Codebase (And Why That's a Good Thing) 

Related posts

Deploying TimescaleDB Vector Search on CloudNativePG Kubernetes Operator

Deploying TimescaleDB Vector Search on CloudNativePG Kubernetes Operator

TimescaleDBAI

Dec 18, 2025

Build custom TimescaleDB images for CloudNativePG: integrate pgvector and pgvectorscale with Kubernetes-native PostgreSQL for AI time-series applications.

Read more

Five Features of the Tiger CLI You Aren't Using (But Should)

Five Features of the Tiger CLI You Aren't Using (But Should)

AIAI agents

Dec 10, 2025

Tiger CLI + MCP server: Let AI manage databases, fork instantly, search Postgres docs, and run queries—all from your coding assistant without context switching.

Read more

Stay updated with new posts and releases.

Receive the latest technical articles and release notes in your inbox.

Share

Start a free trial