Laravel 13 documents semantic search: embeddings, vector queries, and PostgreSQL with pgvector. That is retrieval. It is not the same job as the Laravel AI SDK article, which is drafts, triage, and extraction inside a workflow. Embeddings are mentioned there as a capability. This article is what happens when a person types a phrase and expects products.
The source for the feature is the Laravel 13 release notes. Use that, not a recap, when you check what the framework actually ships.
Keywords first
Exact codes, sizes, and names should hit an ordinary index. If the box fails on a SKU, a vector index will not save it. Indexes are that fix. PostgreSQL or MySQL is the engine choice underneath it: Laravel’s pgvector path assumes PostgreSQL. Do not migrate off MySQL only to put this label on a small catalog.
Vectors when the words differ
Staff type “quiet split type for a small bedroom.” The row says “1.0HP wall-mounted inverter.” Keyword search misses. A vector index can surface the row. You still store the source product, you still show that product, and you do not show a paragraph the model wrote instead of a price.
Embeddings go stale when the catalog changes. Rebuilding them is a queue job, not work inside the search request. The search request reads the index that already exists.
When we leave it off
- You cannot list ten real searches that return the wrong product.
- The catalog is small enough that a person can scan it.
- The goal is an “AI search” badge on the homepage.
Keyword search remains the default. Vector search is an extra index of meaning, added when the examples prove the keyword index is the wrong tool.
Straight next step
Send ten searches that return the wrong product, copied from what staff or customers actually typed. If those examples do not exist, the feature is early. We will say so.



