Return to Journal

How Semantic Search Actually Works

October 20, 2018
3 min read

1. The Core Idea: Meaning Over Words

Semantic search is based on one key principle:

Words that mean similar things should be close to each other in meaning—even if they look different.

For example:

  • “dog” and “puppy” → similar meaning

  • “buy laptop” and “purchase notebook computer” → same intent

To achieve this, we need a way to convert text into meaning.


2. Step One: Converting Text into Vectors (Embeddings)

This is the foundation of semantic search.

A machine learning model (like BERT or sentence transformers) converts text into a vector (a list of numbers).

Example:

“dog” → [0.21, -0.78, 0.56, ...]
“puppy” → [0.19, -0.75, 0.60, ...]

These vectors are called embeddings.

Key insight:
Texts with similar meanings produce similar vectors.


3. Step Two: Mapping Meaning in Vector Space

Think of embeddings as points in a high-dimensional space.

  • Each sentence = one point

  • Similar sentences = points close together

  • Different sentences = far apart

Example:

  • “I love pizza”

  • “Pizza is my favorite food”

These will be very close in this space.


4. Step Three: Measuring Similarity

Now comes the retrieval part.

To find similar text, we compare vectors using similarity metrics like:

  • Cosine similarity (most common)

  • Dot product

  • Euclidean distance

Cosine similarity measures the angle between vectors:

  • Closer angle → more similar meaning

  • Larger angle → less similar


5. Step Four: Searching in a Vector Database

When you search:

  1. Your query is converted into an embedding

  2. The system compares it with stored embeddings

  3. It retrieves the closest matches

This is often done using:

  • FAISS (Facebook AI Similarity Search)

  • Annoy

  • Vector databases like Pinecone or Weaviate

These systems are optimized for fast nearest-neighbor search.


6. Example: Semantic Search in Action

Query:

“How to fix my car”

Stored texts:

  • “Automobile repair guide” (retrieved)

  • “Best pizza recipes” (ignored)

Even though the words don’t match exactly, the meaning aligns, so it gets retrieved.


7. Why It Works Better Than Keyword Search

|Keyword Search|Semantic Search| |---|---| |Matches exact words|Understands meaning| |Misses synonyms|Handles synonyms naturally| |Struggles with phrasing|Works with natural language| |Easy to implement|Requires embeddings + vector search|


8. Limitations You Should Know

Semantic search is powerful, but not perfect:

  • Can confuse similar contexts (“apple” fruit vs company)

  • Requires good embedding models

  • Computationally more expensive

  • Needs tuning for best results


9. Real-World Use Cases

  • Google search (modern ranking systems)

  • Chatbots and LLMs

  • Recommendation systems

  • Document search (PDFs, knowledge bases)

  • E-commerce product search


Conclusion

Semantic search works by transforming text into numerical representations of meaning, then retrieving the closest matches using vector similarity.

In simple terms:

It doesn’t look for the same words—it looks for the same idea.

And that’s what makes it powerful.


Bonus: One-Line Summary

Semantic search =
Text → Embedding → Compare → Retrieve closest meaning