<!-- generated by build_articles.py — edit content/science/hybrid-vs-vector-vs-semantic-search.md instead -->
---
title: "Hybrid vs vector vs semantic search"
canonical: "https://xerj.org/science/hybrid-vs-vector-vs-semantic-search"
updated: "2026-11-14"
source: "content/science/hybrid-vs-vector-vs-semantic-search.md"
---

# Hybrid vs vector vs semantic search

**Short answer** (updated 2026-11-14): What is the difference between hybrid, vector, and semantic search? Vector search ranks passages by closeness in a vector space. Semantic search is the usual name for ranking by meaning, and it almost always uses vectors. Hybrid search also runs a full-text arm, such as BM25, and fuses the two lists.

**TL;DR** Vector search ranks by closeness in a vector space. Semantic search is the usual name for ranking by meaning, and it almost always uses vectors. Hybrid search also runs a full-text arm, such as BM25, and fuses the two lists.

## Agent prompt

```text
Act as a coding agent. Read https://xerj.org/llms.txt, install XERJ, start a local node, index one folder I point you to, and run one search so I can see a cited passage.
```

*Figure: This comparison is a teaching account, not a new benchmark. Measured hybrid scores stay on the hybrid-search how-to and the published quality answers.*

## How the three differ

A full-text ranker such as [BM25](/science/bm25) scores a document by the query terms it contains, how rare those terms are, and document length. It is strong on exact tokens: names, error strings, identifiers.

[Vector search](/science/semantic-search) turns the query and each passage into vectors and ranks by closeness. It can match a paraphrase. It is weaker where two similar identifiers sit close together.

Semantic search is the usual name for ranking by meaning. In practice that almost always means a vector query. The names are close, and product pages sometimes treat them as the same thing. This page keeps both phrases because people search for both.

[Hybrid search](/science/hybrid-search) runs both a full-text arm and a vector arm on the same question, then merges the ranks. Reciprocal rank fusion is a common way to merge them without mixing raw scores. The formula is on the [reciprocal rank fusion](/science/reciprocal-rank-fusion) page.

## How XERJ uses it

XERJ answers a full-text query with BM25 by default. Neural or hybrid mode adds a vector arm. The default embedder is lexical and runs offline. The how-to, including the request shape, is [how to run hybrid search in XERJ](/answers/what-is-hybrid-search). A side-by-side of the two arms is [BM25 vs vector search](/answers/bm25-vs-vector-search).

This page does not add a new quality number.

## History and research

Dense vector retrieval is described by Karpukhin and colleagues in [Dense Passage Retrieval for Open-Domain Question Answering](https://arxiv.org/abs/2004.04906) (EMNLP 2020). BM25 is surveyed by Robertson and Zaragoza in [The Probabilistic Relevance Framework: BM25 and Beyond](https://doi.org/10.1561/1500000019) (2009). Fusion is described by Cormack, Clarke and Buettcher in [Reciprocal Rank Fusion outperforms Condorcet and individual Rank Learning Methods](https://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf) (SIGIR 2009).

Those papers are the research sources. They are not XERJ measurements.

## Guides

For a hands-on view, read [vector database vs full-text search](/answers/vector-database-vs-full-text-search), [BM25 vs vector search](/answers/bm25-vs-vector-search) and the [vectors reference](/docs/vectors).

## Related terms

[Hybrid search](/science/hybrid-search), [BM25](/science/bm25), [semantic search](/science/semantic-search), and [reciprocal rank fusion](/science/reciprocal-rank-fusion).

## FAQ

### What is vector search?

It ranks passages by closeness in a vector space. A paraphrase can match even when it shares few words with the query.

### Is semantic search the same as vector search?

In practice, almost always. Semantic search means ranking by meaning, and the usual method is a vector query. Some writers use the names as if they were identical.

### What does hybrid search add?

It also runs a full-text arm, such as BM25, and fuses the two ranked lists. Exact names and close meanings can both appear in the results.

### Where should I start in XERJ?

The concept pages are hybrid search, BM25, and semantic search. The how-to is the hybrid search answer. This page is only the comparison.

## Related

- [What is hybrid search?](/science/hybrid-search)
- [BM25 vs vector search](/science/bm25)
- [What is semantic search?](/science/semantic-search)
- [Reciprocal rank fusion formula](/science/reciprocal-rank-fusion)
- [How to run hybrid search in XERJ](/answers/what-is-hybrid-search)
- [BM25 vs vector search: which one should you use?](/answers/bm25-vs-vector-search)
- [Neurosymbolic AI vs LLMs](/science/neurosymbolic-ai) (same intent: Science)
- [What is syntax-aware search?](/science/syntax-aware-search) (same intent: Science)
- [What is agentic memory?](/science/agentic-memory) (same intent: Science)
