FAISS is a library from Meta for similarity search over dense vectors.
It is the reference implementation that most vector search is measured against.
It handles collections from thousands to billions of vectors.
It is a library, not a service, so it runs inside your own process.
That makes it fast and cheap and leaves persistence and updates to you.
There is no server, no authentication and no replication built in.
It offers many index types, which is its main strength and its main confusion.
A flat index compares against everything and is exact and slow.
IVF indexes cluster the space and search only the nearest clusters.
HNSW indexes build a navigable graph and give excellent recall for the speed.
Product quantisation compresses vectors so far more fit in memory, at some accuracy cost.
Indexes can be combined, such as IVF with quantisation for very large corpora.
GPU support makes very large workloads practical.
Start with a flat index until it is genuinely too slow, since exact answers are worth having.
It is the right choice for a static corpus embedded in an application, and a poor one for constantly changing data.