Skip to main content
VVertex Solutions
All toolsPDF ToolsImage ToolsText ToolsCalculatorsDeveloperBlog
VVertex Solutions

Browse tools for merging and compressing PDFs, resizing and converting images, formatting text and JSON, running calculators, and working with code.

Popular Tools

  • Mortgage Calculator
  • GPA Calculator
  • Tip Calculator
  • BMI Calculator
  • Percentage Calculator
  • EMI Calculator
  • Merge PDF
  • JSON Formatter

Categories

  • All tools
  • PDF Tools
  • Image Tools
  • Text Tools
  • Calculators
  • Developer Tools

Company

  • About
  • About the Author
  • Editorial Standards
  • How We Verify Tools
  • How Data Is Processed
  • Calculator Comparisons
  • Disclaimer
  • Privacy Policy
  • Cookie Policy
  • FAQ
  • Accessibility
  • Changelog
  • Terms of Service
  • Contact
  • Blog
  • RSS Feed

© 2026 Vertex Solutions. All rights reserved.

Free tools. No signup. Privacy first.

  1. Home
  2. Blog
  3. Embeddings and keyword search
Technologyinformational5 min readPublished 2026-10-24 · Last updated 2026-10-24

Embeddings and keyword search

Keyword search matches strings. An embedding maps text to numbers so similar phrases can match without sharing words. Nearness is not proof, and a missing document cannot be found.

By Rehan Baqir

Quick answer

Keyword search returns documents that contain the words in the query. Embeddings turn text into a list of numbers so that phrases with similar meaning can land near each other even when they share no words. The nearest neighbor can still be the wrong sense of a word. Text that was never embedded cannot be retrieved.

Search that looks at words, and search that looks at vectors, fail in different places. Keyword search finds the string you typed. An embedding search finds text that a model placed near your query in a space of numbers. Teams pick one, then discover they needed both, usually after a confident answer cited the wrong page.

What a keyword index does

A keyword index stores terms. The query "invoice 1044" finds documents that contain those tokens, subject to stemming, stop words, and the analyzer you configured. If the document says "bill number 1044" and your query says "invoice," a plain keyword search can miss it. If the document says "invoice 1044" in a footer on every page, the search can return the whole archive.

That strictness is the feature. Error codes, SKUs, names, and quoted phrases are keyword problems. You want the string, or you want to know it is absent.

What an embedding is

An embedding model reads a piece of text and emits a vector, a fixed list of numbers. Texts the model considers similar get vectors that point in similar directions. "Car" and "automobile" can land near each other without sharing letters. The index stores those vectors. At query time you embed the question and ask for the nearest stored vectors.

The embedding model and the chat model are often different models. Changing the chat model does not rebuild the index. Changing the embedding model does. Old vectors and new vectors are not comparable. You re-embed the collection when you switch.

Where the neighbor is wrong

Nearness is a clue about the embedding model's training, and it is a weak clue about your files. "Bank" beside a river and "bank" as a firm can sit near each other. A policy from 2019 can outrank the policy from this year because the wording is closer to the question. A chunk that says "do not do X" can rank beside a chunk that says "do X" because the words overlap.

The search result is a passage to read, or to hand to a model as source text. It is not a verdict. Retrieval before the model writes is the step where that passage gets pasted into the prompt. If you skip the reading, the generator will speak in the voice of whichever neighbor came back.

Chunks decide what can be found

Long pages are split before they are embedded. A split that cuts a sentence from its heading produces a vector for a fragment. The question was about the heading. The fragment does not contain it, so the nearest-neighbor search never had a chance.

A page that was never passed through the embedding model is absent. There is no fuzzy match that recovers a file you forgot to index. Keyword and vector indexes have the same blind spot here: what you did not store, you cannot retrieve.

A useful index for ordinary company text is often both. Keywords for the identifier. Vectors for the paraphrase. A person, or a careful prompt, still has to check that the passage answers the question that was asked.

A split you can test on your own files

Take one real question and one identifier. "What is our return window?" is a paraphrase. "RMA-4418" is a string. Run both against the keyword index and against the vector index, and write down the top three titles, not the generated paragraph.

On the paraphrase, the vector index often surfaces a policy that never uses the words "return window," and the keyword index often surfaces a page that happens to contain "return" in a footer. On the identifier, the keyword index should find the row that contains RMA-4418. If the vector index returns a nearby code instead, that is the failure mode to remember: nearness is not the string.

Then look at the chunk, not the title. If the heading is right and the body is the previous section, the split cut the page in the wrong place. Fix the chunk. Do not switch chat models and hope the generator repairs a bad neighbor.

Keep a note of which embedding model produced the vectors. The day you change it, the old vectors are a different space. Queries embedded with the new model against the old index return neighbors that are meaningless. Re-embed the collection as one job, or keep two indexes until the new one is full.

Keyword and vector search also share an operations problem that has nothing to do with meaning. A file added to the folder and never sent through the indexer is invisible to both. The generator will still answer. The log of retrieved ids is how you notice that the folder and the index have drifted. If the id you expected is absent from that log, stop tuning the prompt. The page was never a candidate.

Key takeaways

  • Keyword search is exact about strings and blind to paraphrases.
  • An embedding is a list of numbers produced by a model for a piece of text.
  • Closeness in that space is a clue, and it is not a citation.
  • Chunk boundaries decide whether the answering sentence is even a candidate.

Frequently Asked Questions

Common questions answered to help you get the most from this tool.

They place the text near other text the embedding model treats as similar. That is a geometric fact about the vector. It is not a reading of the document and it is not a check that the nearest page is true.

When the query is an identifier, a name, an error code, or a phrase that must appear verbatim. A part number should match as a string. A paraphrase index can miss it or attach a nearby code.

The page may never have been embedded, the chunking may have cut the sentence away from its heading, or the query vector may sit closer to a different page. Check the index contents before you blame the generator.

About the author

Rehan Baqir is the founder & editor of Vertex Solutions. He builds browser-based tools and writes guides about PDF workflows, calculators, image tools, and developer utilities. Article pages show their publication and update dates when available. Read the editorial standards and tool-testing method for the site's stated approach to content and verification.

More about Rehan Baqir →

embeddingssearchvectorsretrieval
Back to all articles

On this page

  • What a keyword index does
  • What an embedding is
  • Where the neighbor is wrong
  • Chunks decide what can be found
  • A split you can test on your own files

Related Articles

  • What a context window actually holds
  • Local models and API calls: what leaves the machine
  • Open-weight models and the license file