Semantic search is a retrieval method that ranks documents by the meaning of a query rather than exact word matches. It converts text into vector embeddings and returns passages whose meaning sits closest to the query. In commercial real estate, semantic search surfaces the right lease clause even when the document uses different wording than the search.
How Does Semantic Search Work?
Semantic search works by turning both the query and every document passage into vector embeddings, arrays of numbers that place text with similar meaning near each other in high-dimensional space. At query time the system embeds the question, then finds the passages whose vectors are closest, usually by cosine similarity. Closeness stands in for relevance, so wording need not match.
The embedding model does the heavy lifting. OpenAI's text-embedding-3-small produces a 1536-dimension vector per passage and text-embedding-3-large produces up to 3072 dimensions, per OpenAI's model documentation. Each dimension encodes some learned aspect of meaning. Two passages that describe the same idea in different words land near each other, which is why a search for "landlord pays taxes" can return a clause that says "lessor shall be responsible for real estate taxes."
Stage | What happens |
Indexing | Each document passage is embedded into a vector and stored |
Query embedding | The search text is converted into a vector by the same model |
Similarity scoring | Cosine similarity ranks passages by distance to the query vector |
Return | The nearest passages are returned as results |
Why Semantic Search Matters
Semantic search matters because commercial real estate documents rarely use the words an analyst searches for. A lease may govern reimbursements under "Operating Expenses," "CAM," or "Additional Rent," and keyword search finds only the term typed. Semantic search retrieves all three because their vectors sit close in meaning space, so no controlling clause is missed for a vocabulary mismatch.
Cosine similarity produces a score from minus 1 to 1, where 1 means identical direction in vector space and 0 means unrelated, per standard vector-search references such as Weaviate's documentation. That numeric score is the quotable core of semantic search: relevance becomes a measurable distance, not a guess. A reviewer can set a threshold and treat every passage above it as a candidate for a given field.
Example
Semantic search is clearest on a single retrieval. An analyst searches a 120-page office lease for "who pays for the roof," but the lease never uses the word "roof" in that context. It states repair duties in a maintenance clause that reads "structural elements, including the roof membrane, shall be maintained by Landlord."
Step | What happens |
Query embedding | "who pays for the roof" becomes a 1536-dimension vector |
Scoring | The maintenance clause scores cosine similarity 0.71, the top result |
Keyword baseline | A literal search for "who pays for the roof" returns 0 exact matches |
Return | The structural-maintenance clause is surfaced as the top passage |
Keyword search returns nothing because the exact phrase never appears. Semantic search returns the controlling clause at similarity 0.71 because "who pays for the roof" and "roof membrane shall be maintained by Landlord" share meaning. The analyst reads one passage instead of skimming 120 pages, and the score of 0.71 flags it as a strong, reviewable match.
Variations and Edge Cases
Semantic search is one design point on a spectrum, and the right setup depends on the document set. Pure semantic search can miss exact defined terms, so many CRE systems combine it with keyword matching. The variants below trade recall against precision on named clauses.
Variant | Treatment |
Pure semantic | Ranks only by vector similarity; strong on paraphrase, weak on exact codes |
Hybrid search | Blends keyword and semantic scores to catch defined terms like "Base Rent" |
Re-ranking | A second model re-scores top passages for finer relevance |
Chunk sizing | Smaller passages sharpen matches; larger passages preserve clause context |
Metadata filtering | Restricts search to a document type or date before scoring |
Semantic Search vs Keyword Search
Semantic search is often confused with keyword search, and the difference is what gets matched. Semantic search matches meaning by comparing vector embeddings, so it returns relevant passages that use different words. Keyword search matches characters, so it returns only passages containing the exact terms typed and misses synonyms.
Keyword search is precise when the exact term is known, such as a defined lease term or a suite number. Semantic search is stronger when the same concept appears under varied wording across leases, rent rolls, and offering memorandums. Most production CRE systems run hybrid search to keep the exactness of keywords and the recall of meaning.
Frequently Asked Questions
What is semantic search in simple terms?Semantic search is a way to find documents by meaning instead of exact words. It turns text into vectors and returns the passages whose meaning is closest to the query, so a search for one phrase can surface a clause worded differently but about the same thing.
How is semantic search different from keyword search?Keyword search matches the exact words typed and misses synonyms. Semantic search compares vector embeddings and returns passages with similar meaning even when the wording differs. In practice CRE systems often combine both so exact terms and paraphrased clauses are both retrieved.
Does semantic search need a vector database?Semantic search needs a way to store embeddings and find the nearest ones quickly, which is what a vector database provides. For small document sets an in-memory index can work, but at scale a vector database handles the similarity search efficiently.
Related Terms
Vector Database
Retrieval-Augmented Generation
Structured Data Extraction
Document Extraction
Field Extraction