Language models & chatbots
Semantic search is search that finds results by meaning rather than exact keywords, so a query and a document can match even when they share no words.
Traditional search looks for your words. Type 'refund' and it finds pages containing 'refund.' Use different words and you get nothing. Semantic search converts both your query and every document into embeddings, then returns the documents whose vectors sit closest to your query's vector. Same meaning, different words, still a match.
The setup has two phases. Ahead of time, documents are split into chunks and each chunk is embedded and stored. At search time, the query is embedded and compared against the stored vectors. The closest few are the results. This all happens in a fraction of a second, even over millions of chunks.
Semantic search is not magic. It can miss exact identifiers like product codes, where keyword search shines. Many real systems combine both, which is called hybrid search. It is also the 'retrieval' half of RAG.
Searching a phone's help center for 'it will not charge' brings up the article titled 'Battery troubleshooting,' even though the query never says 'battery.'