Tools & Platforms
Vector Database
In shortA database that stores embeddings and finds the most similar ones fast, powering semantic search, recommendations and RAG.
A vector database stores embeddings, the lists of numbers that represent the meaning of text, images or products, and retrieves the ones most similar to a query vector in milliseconds. It is the storage layer behind vector search, semantic site search and retrieval-augmented generation.
How it works
Comparing a query vector with every stored vector is slow once you have millions of items. Vector databases build an approximate nearest-neighbour (ANN) index, such as HNSW (hierarchical navigable small world graphs), that finds very close matches quickly at the cost of occasionally missing the exact best one. You insert each item with its vector and metadata (URL, title, page type), then query with a vector and filters, and get back the top matches with a similarity score.
Options range from extensions of databases you already run (pgvector for Postgres, vector fields in Elasticsearch) to hosted services such as Pinecone. Libraries like FAISS provide the same indexing in code without a database server.
How it’s used in SEO and marketing
- Related content and internal links looked up at request time instead of precomputed lists.
- On-site semantic search that matches meaning, not just keywords.
- RAG assistants that answer questions from your own content with citations.
- Large keyword or query sets, where you need nearest neighbours for clustering or mapping without comparing every pair.
- Image similarity using image embeddings.
Example
In MLforSEO’s internal linking guide, every page is embedded and related posts are picked by similarity. The simple way to publish them is a static “Read next” block rebuilt when content changes. The scalable way is to load the vectors into a vector database (pgvector in Postgres, or a hosted one) and look up neighbours at request time. The same index can then power on-site semantic search or a retrieval-augmented assistant.
Limitations and things to watch
- For a few thousand pages, a vector database is often unnecessary. A NumPy array or a CSV of precomputed neighbours works fine.
- Results are only as good as the embedding model. Changing models means re-embedding everything.
- ANN search is approximate. Tune index settings if you need high recall.
- Keep metadata filters in mind: semantic similarity alone may link a blog post to an unrelated product page.
Learn it on MLforSEO
Where Vector Database shows up on MLforSEO
Read about it on the blog
Sources and further reading
Other terms from Tools & Platforms
- Apps ScriptGoogle's cloud-based JavaScript platform for automating Google Sheets and other Workspace apps, often used to…
- BigQueryGoogle Cloud's serverless data warehouse for storing and querying very large datasets with SQL, including Sear…
- Claude (Anthropic)Anthropic's family of large language models and AI assistant, used for writing, analysis, coding and agentic w…
- ElasticsearchAn open-source search and analytics engine for indexing large amounts of text, with fuzzy, phonetic and vector…
- FuzzyWuzzy/RapidFuzz/PolyFuzzPython libraries for fuzzy string matching. RapidFuzz is the fast default, TheFuzz is FuzzyWuzzy's successor,…
- GensimAn open-source Python library for topic modelling and document similarity, best known for LDA, LSI, word2vec a…
- Google CloudGoogle's cloud computing platform. For SEOs it hosts the ML APIs used most often: Natural Language, Knowledge…
- Google Cloud AutoMLGoogle's tools for training custom models without writing model code; AutoML for text was retired in Vertex AI…
- Google ColabGoogle's free, browser-based Python notebook that runs code on Google's servers, so you can use ML scripts wit…

