Tag: Semantic Search

Store and retrieve embeddings and execute vector similarity search for semantic retrieval (AI-200 Exam Prep)

This post is a part of the AI-200: Developing AI Cloud Solutions on Azure  Exam Prep Hub.
This topic falls under these sections:
Develop AI solutions by using Azure data management services (25–30%)
   --> Develop AI solutions by using Azure Cosmos DB for NoSQL
      --> Store and retrieve embeddings and execute vector similarity search for semantic retrieval


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Overview

Modern AI applications frequently need to retrieve information based on meaning, rather than simply matching exact words.

For example, suppose a user asks:

“What options are available for taking my dog on vacation?”

A traditional keyword search might look for documents containing the words dog, vacation, or travel. A semantic search system can instead identify documents discussing pet-friendly hotels, even if those documents never use the exact words in the user’s question.

This is accomplished using vector embeddings and vector similarity search.

Azure Cosmos DB for NoSQL provides integrated vector storage, indexing, and search capabilities. Applications can store embeddings directly alongside their source documents and use the VectorDistance() system function to find documents whose vectors are closest to a query vector.

For the AI-200 exam, you should understand:

  • What embeddings are
  • How embeddings are generated
  • How embeddings are stored in Cosmos DB
  • Vector embedding policies
  • Vector indexing policies
  • flat, quantizedFlat, and diskANN
  • The VectorDistance() function
  • k-nearest-neighbor (kNN) searches
  • Semantic retrieval
  • Filtering vector searches
  • Why TOP N is important
  • How vector search fits into RAG applications
  • Important vector-search limitations

1. What Is a Vector Embedding?

A vector embedding is a numerical representation of information.

An embedding model converts content such as:

  • Text
  • Documents
  • Images
  • Audio
  • Other supported data

into an array of numerical values.

For example, a simplified embedding might look like:

[0.12, -0.43, 0.87, 0.21, -0.09]

Real-world embedding models generally produce vectors with many more dimensions.

The important concept is that the position of an embedding in a high-dimensional mathematical space represents characteristics of the original content.

Content with similar meanings tends to have vectors that are close together.

For example:

"How can I travel with my dog?"

might be semantically close to:

"Hotels that allow pets"

even though the two sentences don’t contain the same words.


2. Embeddings Are Generated Outside Cosmos DB

Azure Cosmos DB stores and searches embeddings, but the embedding itself is typically generated by an embedding model.

For example, an application might use an embedding API such as an Azure OpenAI embedding model.

The general workflow is:

Source content
|
v
Embedding model
|
v
Vector embedding
|
v
Azure Cosmos DB

For a search request:

User query
|
v
Embedding model
|
v
Query embedding
|
v
Cosmos DB vector search
|
v
Most semantically similar documents

The stored document embedding and query embedding need to be compatible. In practice, applications should generate both using the same embedding model or a compatible embedding space.


3. Storing Embeddings in Cosmos DB

One of the major advantages of the integrated vector capabilities in Azure Cosmos DB for NoSQL is that the embedding can be stored alongside the original document.

For example:

{
"id": "doc001",
"category": "travel",
"title": "Pet-Friendly Hotels",
"content": "Hotels that welcome dogs and cats...",
"embedding": [
0.123,
-0.456,
0.789,
0.234
]
}

The application therefore doesn’t need to maintain a completely separate database containing the vector and another database containing the associated document.

The vector and its source data can be colocated.

This is particularly useful for AI applications because the application can retrieve both:

  1. The similarity result
  2. The original content needed to answer the user’s question

from the same Cosmos DB item.


4. What Is Semantic Retrieval?

Semantic retrieval means finding information based on its meaning rather than simply matching keywords.

Consider these two documents:

Document A

“Our resort provides accommodations for guests traveling with pets.”

Document B

“Our resort has a swimming pool and fitness center.”

A user searches:

“Where can I stay with my dog?”

Document A is likely to have a much closer semantic relationship to the query.

A vector search system identifies that relationship by comparing embeddings.

The basic process is:

  1. Generate embeddings for documents.
  2. Store the embeddings with the documents.
  3. Generate an embedding for the user’s query.
  4. Compare the query vector with document vectors.
  5. Rank documents according to similarity.
  6. Return the most relevant documents.

This is the foundation of many retrieval-augmented generation (RAG) applications.


5. Vector Search in Azure Cosmos DB

Azure Cosmos DB for NoSQL provides vector search capabilities through:

  • Vector embedding policies
  • Vector indexing policies
  • The VectorDistance() system function

Vector indexes improve vector-search efficiency by reducing latency and RU consumption compared with an unindexed/full-scan approach.

At a conceptual level:

                  Azure Cosmos DB
+---------------------+
| |
Document ---> | Original content |
| |
Embedding --> | Vector embedding |
| |
| Vector index |
| |
+----------+----------+
^
|
VectorDistance()
|
Query embedding

6. Vector Embedding Policies

A vector embedding policy describes the vector properties that Cosmos DB should treat as embeddings.

The policy can specify characteristics such as:

  • The vector property path
  • Number of dimensions
  • Distance function
  • Data type

The policy establishes how Cosmos DB should interpret the vector data.

A simplified conceptual configuration might look like:

{
"vectorEmbeddings": [
{
"path": "/embedding",
"dataType": "float32",
"dimensions": 1536,
"distanceFunction": "cosine"
}
]
}

The exact configuration supported depends on the current Cosmos DB capabilities and account configuration, but the important exam concept is:

The vector embedding policy describes the characteristics of the vector data.

Don’t confuse this with the vector indexing policy.


7. Vector Indexing Policies

The vector indexing policy determines how Cosmos DB indexes the vectors for vector search.

Azure Cosmos DB for NoSQL currently provides three primary vector index types:

IndexGeneral purpose
flatExact/brute-force vector search
quantizedFlatQuantized vector search for smaller/scoped workloads
diskANNEfficient approximate vector search for larger workloads

Choosing the appropriate index is an important architectural decision.


8. The flat Vector Index

The flat index performs a brute-force comparison of vectors.

Its major advantage is accuracy.

A flat search can provide exact nearest-neighbor results.

However, it has a maximum vector dimensionality of 505 dimensions, which makes it unsuitable for many modern high-dimensional embedding models.

It can be appropriate for relatively small vector datasets or situations where exact recall is particularly important.

Key exam concept

Flat = exact/brute-force search.


9. The quantizedFlat Vector Index

quantizedFlat compresses vectors before storing them in the vector index.

This can provide:

  • Lower latency
  • Higher throughput
  • Lower RU consumption

compared with an ordinary flat index.

The trade-off is that quantization can result in some loss of accuracy.

quantizedFlat supports vectors up to 4,096 dimensions.

Microsoft currently describes quantizedFlat as particularly appropriate for smaller or more narrowly scoped searches, with 50,000 vectors or fewer in the search scope being a useful general guideline—not an absolute limit. Actual workloads should be benchmarked.

Key exam concept

quantizedFlat = compressed/brute-force search with improved efficiency and a possible small accuracy trade-off.


10. The diskANN Vector Index

diskANN is designed for efficient approximate vector search, particularly for larger workloads.

It can provide:

  • Low latency
  • High throughput
  • Efficient RU consumption
  • High retrieval accuracy

It supports vectors up to 4,096 dimensions.

Microsoft describes DiskANN as generally the most performant option when the search scope exceeds approximately 50,000 vectors, although actual workload testing remains important.

Key exam concept

diskANN = approximate vector search optimized for larger datasets/search scopes.


11. Vector Index Comparison

For exam preparation, remember the following:

CharacteristicflatquantizedFlatdiskANN
Search typeExact/brute forceQuantized brute forceApproximate
Maximum dimensions5054,0964,096
AccuracyExactSlight possible lossHigh, configurable trade-offs
Large datasetsPoor fitBetter for smaller/scoped dataExcellent
Latency at scaleHigherModerateLower
RU efficiency at scaleLowerBetterBetter
Typical useSmall/exact searchesSmaller/scoped searchesLarge-scale vector search

12. Important Requirement: Vector Index Configuration

A vector index must be configured for the vector property that will be searched.

For example:

"vectorIndexes": [
{
"path": "/embedding",
"type": "diskANN"
}
]

The vector embedding policy and vector index work together.

A useful way to remember the distinction is:

Embedding policy = What is my vector?

Vector index = How should I search my vector?


13. Performing Vector Similarity Search

The primary Cosmos DB function used for vector similarity search is:

VectorDistance()

A basic query might look like:

SELECT TOP 10
c.title,
VectorDistance(c.embedding, @queryVector) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.embedding, @queryVector)

This query:

  1. Takes the query vector.
  2. Compares it with c.embedding.
  3. Calculates a vector distance.
  4. Sorts the results.
  5. Returns the top 10 results.

Microsoft specifically recommends using TOP N for vector searches because returning unnecessary results increases RU consumption and latency.


14. Understanding VectorDistance()

The function conceptually compares:

Document vector
|
v
VectorDistance()
^
|
Query vector

The result represents the distance between the vectors.

The exact interpretation depends on the configured distance function.

Common distance concepts include:

  • Cosine
  • Euclidean
  • Dot product

The application should use the distance function appropriate for the embedding model and workload.


15. Why Distance Matters

Suppose the query embedding is:

Q = [0.2, 0.3, 0.5]

and the database contains:

A = [0.2, 0.3, 0.5]
B = [0.8, 0.1, 0.2]
C = [-0.4, 0.7, 0.1]

The vector closest to the query is likely the most semantically similar.

The search engine can therefore rank results:

1. Document A
2. Document B
3. Document C

The application doesn’t have to know the meaning represented by every dimension.

The embedding model and vector-distance calculation handle that mathematical representation.


16. Always Use TOP N

A particularly important exam and practical-development point is:

Use TOP N with vector searches.

For example:

SELECT TOP 5
c.id,
c.title,
VectorDistance(c.embedding, @queryVector) AS score
FROM c
ORDER BY VectorDistance(c.embedding, @queryVector)

If the application only needs the five most relevant documents, there’s little reason to retrieve thousands of results.

Returning unnecessary results can increase:

  • RU consumption
  • Latency
  • Network traffic
  • Application processing

Microsoft explicitly recommends TOP N for vector searches.


17. Filtering Vector Searches

Vector search can also be combined with traditional query filtering.

For example:

SELECT TOP 10
c.title,
c.category,
VectorDistance(c.embedding, @queryVector) AS score
FROM c
WHERE c.category = "travel"
ORDER BY VectorDistance(c.embedding, @queryVector)

This means:

Find the most semantically similar documents within the travel category.

This is extremely useful in real applications.

Examples include:

  • Search products within a specific department.
  • Search documents belonging to a specific tenant.
  • Search hotel information within a particular region.
  • Search only documents that a user is authorized to access.

Azure Cosmos DB supports combining vector search with other query filtering capabilities.


18. Vector Search and Partitioning

Azure Cosmos DB applications should always consider partitioning.

For example, a multi-tenant application might have:

{
"id": "doc123",
"tenantId": "tenantA",
"title": "Company policy",
"embedding": [...]
}

A query could restrict retrieval to a particular tenant:

SELECT TOP 10
c.title,
VectorDistance(c.embedding, @queryVector) AS score
FROM c
WHERE c.tenantId = @tenantId
ORDER BY VectorDistance(c.embedding, @queryVector)

This can narrow the search scope and can be important for both performance and data isolation.


19. Semantic Search vs. Keyword Search

It is important to understand the difference.

Keyword search

A keyword search primarily asks:

Does this document contain the requested word or phrase?

For example:

"automobile"

might fail to find a document that only says:

"car"

Semantic search

Semantic search asks:

Which documents are mathematically closest in meaning to this query?

Therefore:

"automobile"

may retrieve documents discussing:

cars
vehicles
motor vehicles
transportation

depending on how the embedding model represents the concepts.


20. Hybrid Search

Vector search doesn’t have to replace traditional search.

Many AI applications use hybrid search, combining:

  • Keyword/full-text search
  • Vector similarity
  • Metadata filtering

For example:

User query
|
+--------------------+
| |
v v
Keyword search Vector search
| |
+---------+----------+
|
v
Combined ranking
|
v
Relevant results

This can provide better retrieval than relying exclusively on either keyword or vector search.

For example, vector search is good at identifying semantic similarity, while keyword search can be valuable when an exact product ID, name, or technical term matters.


21. Vector Search and RAG

One of the most important practical applications of vector search is Retrieval-Augmented Generation (RAG).

A simplified RAG architecture looks like this:

              DOCUMENT INGESTION
|
v
Generate embeddings
|
v
Azure Cosmos DB
+----------------------+
| Documents |
| Embeddings |
| Vector index |
+----------------------+

^
|
Vector retrieval
|
|
User question --> Generate embedding
|
v
Vector similarity search
|
v
Relevant documents
|
v
LLM
|
v
Generated answer

The vector database is responsible for retrieving relevant information.

The LLM is responsible for generating the final response using that retrieved information.

This distinction is important.

Vector search retrieves information; the LLM generates the response.


22. Keeping Embeddings Synchronized

Suppose the source document changes:

Original document
|
v
Embedding A

The document is updated:

Updated document
|
v
Embedding A <-- stale!

The embedding may no longer accurately represent the document.

Therefore, applications should have a mechanism to regenerate embeddings when source content changes.

Azure Cosmos DB’s change feed can be used as part of an architecture that detects changes and triggers embedding regeneration. The current AI-200 training material specifically includes change-feed processing for keeping embeddings synchronized.

A common architecture is:

Document updated
|
v
Cosmos DB change feed
|
v
Processing component
|
v
Generate new embedding
|
v
Update Cosmos DB item

23. Vector Index Limitations You Should Know

Several limitations are particularly relevant for the AI-200 exam.

Maximum dimensions

Current limits include:

  • flat: 505 dimensions
  • quantizedFlat: 4,096 dimensions
  • diskANN: 4,096 dimensions

Minimum vectors for quantizedFlat and diskANN

quantizedFlat and diskANN require at least 1,000 vectors for indexed vector searching. If fewer than 1,000 vectors are present, a full scan can be performed instead.

Shared throughput

Vector indexing and search currently aren’t supported on accounts using shared throughput.

Vector policy changes

Vector embedding and vector indexing policy settings aren’t simply modified in place. Depending on the specific configuration, the existing policy/index must be removed and recreated, or a new container may be required.

Vector search cannot simply be disabled

Once vector indexing and search are enabled on a container, it cannot simply be disabled.


24. Common Exam Traps

Trap 1: Confusing embeddings with indexes

An embedding is the numerical representation of content.

An index is the structure used to efficiently search those vectors.


Trap 2: Thinking Cosmos DB generates the embedding

Cosmos DB stores and searches embeddings.

An embedding model, such as an embedding API, generates the embedding.


Trap 3: Assuming diskANN is exact

diskANN is an approximate nearest-neighbor approach.

It is designed to provide excellent performance while maintaining high retrieval quality.


Trap 4: Assuming quantizedFlat is exact

Quantization can introduce a small loss of accuracy.


Trap 5: Forgetting TOP N

A vector search should generally use TOP N to avoid unnecessarily expensive retrieval.


Trap 6: Using flat for a 1,536-dimensional embedding

The current flat limit is 505 dimensions.

A 1,536-dimensional embedding requires a vector index type supporting that dimensionality, such as quantizedFlat or diskANN.


Trap 7: Treating vector search as keyword search

Vector search is based on semantic similarity, not exact text matching.


25. Exam-Focused Summary

For AI-200, remember this chain:

Source data
|
v
Embedding model
|
v
Vector embedding
|
v
Cosmos DB document
|
v
Vector embedding policy
|
v
Vector index
|
v
VectorDistance()
|
v
TOP N results
|
v
Semantic retrieval

The most important concepts are:

ConceptRemember
EmbeddingNumerical representation of content
Vector storeStores and retrieves embeddings
Vector embedding policyDefines characteristics of vectors
Vector indexMakes vector searches more efficient
flatExact/brute-force; max 505 dimensions
quantizedFlatQuantized; max 4,096 dimensions
diskANNApproximate, efficient large-scale search; max 4,096 dimensions
VectorDistance()Performs vector distance calculation
TOP NLimits results and helps control RU/latency
Semantic searchFinds content by meaning
Metadata filteringNarrows the search space
Hybrid searchCombines lexical and vector retrieval
RAGUses retrieved context to augment LLM generation
Change feedCan trigger embedding refresh when data changes

Practice Exam Questions

Question 1

An AI application stores product descriptions in Azure Cosmos DB for NoSQL. The application needs to find products that are semantically similar to a user’s natural-language query.

What should the application do?

A. Store the product descriptions as strings and use CONTAINS() exclusively.

B. Generate embeddings for the product descriptions and store the vectors with the documents.

C. Convert each product description to a partition key.

D. Store each word as a separate Cosmos DB item.

Answer: B

Explanation:
Semantic retrieval requires converting content into vector embeddings. The embeddings can then be stored alongside the original documents in Cosmos DB and compared with a query embedding. Keyword functions such as CONTAINS() don’t provide semantic similarity.


Question 2

An application uses a 1,536-dimensional embedding model and needs an efficient vector index for a large production dataset.

Which vector index type is the most appropriate choice?

A. flat

B. hash

C. range

D. diskANN

Answer: D

Explanation:
diskANN supports vectors up to 4,096 dimensions and is designed for efficient approximate vector search at larger scales. flat is limited to 505 dimensions and therefore cannot index a 1,536-dimensional vector.


Question 3

An application needs the five most semantically similar documents to a query vector.

Which query pattern should be used?

A.

SELECT *
FROM c
ORDER BY VectorDistance(c.embedding, @queryVector)

B.

SELECT TOP 5 *
FROM c
ORDER BY c.embedding

C.

SELECT TOP 5 *
FROM c
ORDER BY VectorDistance(c.embedding, @queryVector)

D.

SELECT *
FROM c
WHERE c.embedding = @queryVector

Answer: C

Explanation:
VectorDistance() calculates the distance between the stored embedding and query vector. TOP 5 limits the results to the five most relevant documents and helps avoid unnecessary RU consumption and latency.


Question 4

Which statement best describes the purpose of a vector embedding?

A. It is a Cosmos DB authentication token.

B. It is the partition key automatically generated by Cosmos DB.

C. It is a numerical representation of the semantic characteristics of content.

D. It is an index containing document metadata.

Answer: C

Explanation:
An embedding is a numerical representation generated by an embedding model. Semantically related content tends to produce vectors that are close together in vector space.


Question 5

A company has a relatively small vector search workload and wants to use a vector index that compresses vectors to improve efficiency while accepting a possible small loss in accuracy.

Which index should it consider?

A. flat

B. quantizedFlat

C. diskANN

D. NoSQL range indexing

Answer: B

Explanation:
quantizedFlat compresses vectors before indexing. This can improve latency, throughput, and RU efficiency compared with flat, at the potential cost of some accuracy. It is particularly suited to smaller or more narrowly scoped searches.


Question 6

An application has documents containing both an embedding and a category property. It needs to find the most semantically similar documents, but only within the "finance" category.

Which approach is appropriate?

A. Perform a vector search without filtering and discard non-finance results afterward.

B. Store each category in a separate Cosmos DB account.

C. Use VectorDistance() together with a WHERE filter for the category.

D. Replace the embeddings with category names.

Answer: C

Explanation:
Vector search can be combined with traditional Cosmos DB query filters. The application can use a WHERE clause to restrict the search to documents matching the required metadata.


Question 7

A developer changes the text of a document but continues using the embedding that was generated from the old version.

What is the primary problem?

A. The partition key automatically changes.

B. The vector index is deleted.

C. The document becomes unreadable.

D. The embedding may no longer accurately represent the document.

Answer: D

Explanation:
An embedding represents the content used to generate it. If the source content changes substantially, the old embedding can become stale. Applications can use mechanisms such as the Cosmos DB change feed to detect changes and trigger embedding regeneration.


Question 8

Which statement correctly describes the flat vector index in Azure Cosmos DB for NoSQL?

A. It performs exact/brute-force vector search and supports vectors up to 505 dimensions.

B. It performs approximate DiskANN search and supports 4,096 dimensions.

C. It compresses vectors and always produces approximate results.

D. It is used only for keyword searches.

Answer: A

Explanation:
The flat index performs brute-force vector search and can provide exact nearest-neighbor results. Its current maximum vector dimensionality is 505.


Question 9

An AI application uses vector search as part of a RAG architecture.

What is the primary purpose of the vector search portion of the architecture?

A. Generate the final natural-language response.

B. Retrieve content that is semantically relevant to the user’s query.

C. Train the large language model.

D. Replace the embedding model.

Answer: B

Explanation:
Vector search retrieves relevant information based on semantic similarity. The retrieved content can then be supplied to an LLM as context for generating the final answer. Vector retrieval and LLM generation are separate responsibilities.


Question 10

A developer creates a vector search query that returns every matching document instead of limiting the result set. The application only needs the top 10 results.

What should the developer change?

A. Remove the vector index.

B. Increase the embedding dimensionality.

C. Add a TOP 10 clause to the query.

D. Replace VectorDistance() with CONTAINS().

Answer: C

Explanation:
Vector searches should generally use TOP N to limit the number of returned results. Returning more results than the application needs can increase RU consumption and latency.


Final Exam Takeaways

If you remember only a handful of things from this topic, remember these:

  1. Embeddings represent the semantic characteristics of content numerically.
  2. An embedding model generates the embedding; Cosmos DB stores and searches it.
  3. Embeddings can be stored alongside the original Cosmos DB document.
  4. VectorDistance() is the key function for vector similarity searches.
  5. Use TOP N when performing vector retrieval.
  6. flat provides exact/brute-force search but is limited to 505 dimensions.
  7. quantizedFlat provides a more efficient quantized approach for smaller/scoped searches.
  8. diskANN is designed for efficient approximate search at larger scales and supports up to 4,096 dimensions.
  9. Vector search can be combined with metadata filters and hybrid search.
  10. Vector retrieval is a fundamental building block for RAG applications.
  11. When source content changes, embeddings may need to be regenerated.
  12. For AI-200 scenario questions, pay close attention to the dataset size, vector dimensionality, accuracy requirements, RU consumption, and latency requirements when selecting a vector index.

Go to the AI-200 Exam Prep Hub main page

Identify when to use vector-related types and functions for semantic searching, including VECTOR_NORMALIZE, VECTOR_DISTANCE, VECTORPROPERTY, and VECTOR_SEARCH (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Implement AI capabilities in database solutions (25–30%)
   --> Design and implement intelligent search
      --> Identify when to use vector-related types and functions for semantic searching, including VECTOR_NORMALIZE, VECTOR_DISTANCE, VECTORPROPERTY, and VECTOR_SEARCH


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

Modern AI-powered database applications increasingly rely on semantic search, which retrieves information based on meaning rather than exact keyword matches. SQL Server 2025 (Preview), Azure SQL Database, and Azure SQL Managed Instance now include native vector capabilities, allowing developers to store embeddings and perform semantic searches directly inside the database.

Instead of exporting data to a separate vector database, developers can use built-in vector data types and functions to compare embeddings, calculate similarity, inspect vector metadata, normalize vectors, and perform efficient nearest-neighbor searches.

For the DP-800 certification exam, you should understand:

  • When semantic search is appropriate
  • The purpose of the VECTOR data type
  • How VECTOR_DISTANCE measures similarity
  • Why VECTOR_NORMALIZE is useful
  • How VECTORPROPERTY retrieves vector metadata
  • When to use VECTOR_SEARCH
  • Performance considerations
  • Common semantic search design patterns

Understanding Semantic Search

Traditional SQL searches compare exact values.

Example:

WHERE Description LIKE '%car%'

This search only returns rows containing the word car.

Semantic search instead compares meaning.

Searching for:

vehicle

may also return:

  • automobile
  • SUV
  • truck
  • sedan
  • crossover

because their embeddings are close together within vector space.


Native Vector Support in SQL

Microsoft SQL now supports vectors as first-class database objects.

Instead of storing embeddings externally, SQL databases can store:

  • relational columns
  • vector columns
  • AI metadata

inside one table.

Example:

ProductIDNameCategoryEmbedding
101LaptopElectronicsVECTOR(1536)

This enables SQL to perform both relational filtering and semantic similarity searches.


VECTOR Data Type

The VECTOR data type stores embedding values.

Example:

Embedding VECTOR(1536)

The dimension must exactly match the embedding model.

Examples:

  • VECTOR(768)
  • VECTOR(1024)
  • VECTOR(1536)
  • VECTOR(3072)

The VECTOR type is the foundation of all semantic search operations.


When to Use VECTOR_DISTANCE

VECTOR_DISTANCE measures how similar two vectors are.

Think of it as calculating the “distance” between meanings.

Smaller distance

↓

More similar

Larger distance

↓

Less similar

Example:

Customer query:

lightweight laptop

Document A

portable notebook computer

Very small distance

Document B

kitchen appliances

Very large distance


Common Uses of VECTOR_DISTANCE

Developers commonly use VECTOR_DISTANCE to:

  • Rank search results
  • Compare embeddings
  • Measure semantic similarity
  • Build recommendation engines
  • Find related documents
  • Identify duplicate content
  • Support AI assistants

Example Scenario

Suppose a user searches:

cloud database backup

SQL compares the query embedding against stored embeddings.

Each document receives a distance score.

Example:

DocumentDistance
Azure Backup Guide0.08
SQL Disaster Recovery0.13
Cloud Storage Overview0.19
Restaurant Menu0.92

The smallest distance represents the best semantic match.


Choosing a Distance Metric

Several similarity calculations exist.

Common metrics include:

  • Cosine similarity
  • Euclidean distance
  • Dot product

SQL vector functions abstract much of this complexity.

Developers simply request semantic similarity without implementing complex mathematics.


Why VECTOR_NORMALIZE Exists

Different vectors may have different magnitudes.

Normalization converts vectors into standardized lengths.

Instead of comparing:

Length + Direction

only

Direction

is compared.

This improves consistency.


When to Normalize Vectors

Normalization is commonly used when:

  • comparing embeddings from different sources
  • improving cosine similarity calculations
  • preprocessing vectors
  • preparing vectors before indexing

Many embedding models already generate normalized vectors.

Others do not.


Benefits of VECTOR_NORMALIZE

Normalization helps:

  • improve comparison consistency
  • reduce magnitude bias
  • improve semantic similarity scoring
  • produce more reliable nearest-neighbor searches

VECTORPROPERTY

VECTORPROPERTY retrieves metadata about vectors.

Rather than comparing vectors, it provides information about them.

Examples include:

  • dimension count
  • storage characteristics
  • metadata
  • vector properties

Developers often use VECTORPROPERTY for:

  • validation
  • diagnostics
  • troubleshooting
  • quality checks

Example Scenario

A developer receives embeddings from multiple AI models.

Some generate:

768 dimensions

Others generate:

1536 dimensions

Before inserting data, the developer verifies dimensions using VECTORPROPERTY.

This prevents invalid inserts.


VECTOR_SEARCH

VECTOR_SEARCH performs semantic nearest-neighbor searches.

Instead of writing complex similarity calculations manually, developers can search vectors directly.

Typical workflow:

User Question

↓

Generate embedding

↓

VECTOR_SEARCH

↓

Most similar documents

↓

Return results


When to Use VECTOR_SEARCH

VECTOR_SEARCH is ideal for:

  • Retrieval-Augmented Generation (RAG)
  • AI chatbots
  • document search
  • recommendation engines
  • semantic search portals
  • customer support systems
  • knowledge bases

VECTOR_SEARCH vs VECTOR_DISTANCE

Although related, they serve different purposes.

VECTOR_DISTANCE

  • compares two vectors

VECTOR_SEARCH

  • searches an entire collection

Think of it this way:

VECTOR_DISTANCE

↓

Individual comparison

VECTOR_SEARCH

↓

Database-wide search


Example Workflow

A user asks:

How do I configure Azure SQL backups?

Step 1

Generate query embedding.

↓

Step 2

VECTOR_SEARCH finds similar documents.

↓

Step 3

Top documents returned.

↓

Step 4

LLM generates an answer.


Combining SQL Filtering with VECTOR_SEARCH

One advantage of SQL databases is hybrid querying.

Example:

Return only:

Category = Documentation

AND

perform semantic search.

This combines relational filtering with AI similarity.

Benefits include:

  • better accuracy
  • faster searches
  • improved relevance

Performance Considerations

Semantic search can become expensive.

Best practices include:

  • use vector indexes
  • normalize vectors when appropriate
  • filter relational data first
  • avoid unnecessarily large embeddings
  • use approximate nearest-neighbor indexes
  • limit returned results

Typical Semantic Search Architecture

Documents

↓

Generate embeddings

↓

Store vectors

↓

Create vector index

↓

User submits question

↓

Generate query embedding

↓

VECTOR_SEARCH

↓

Nearest neighbors

↓

LLM response


Choosing the Correct Function

FunctionPrimary Purpose
VECTORStores embeddings
VECTOR_DISTANCEMeasures similarity between two vectors
VECTOR_NORMALIZEStandardizes vectors before comparison
VECTORPROPERTYReturns vector metadata
VECTOR_SEARCHSearches collections for similar vectors

Best Practices

  • Store embeddings using the VECTOR data type.
  • Match VECTOR dimensions to the embedding model.
  • Use VECTOR_SEARCH for semantic retrieval.
  • Use VECTOR_DISTANCE for direct similarity comparisons.
  • Normalize vectors when required by the similarity metric.
  • Use VECTORPROPERTY to validate vector characteristics.
  • Combine relational filters with vector searches.
  • Create vector indexes for large datasets.
  • Store embedding model versions alongside vectors.
  • Monitor storage and indexing costs.

Common DP-800 Exam Tips

  • Understand when semantic search is preferable to keyword search.
  • Know the purpose of each vector function.
  • Understand that VECTOR_DISTANCE compares two vectors, while VECTOR_SEARCH searches an entire dataset.
  • Remember that VECTOR_NORMALIZE standardizes vectors before comparison.
  • Know that VECTORPROPERTY retrieves vector metadata rather than similarity scores.
  • Expect scenario-based questions requiring you to choose the correct vector function for a given task.
  • Understand how these functions support RAG, AI assistants, recommendation systems, and semantic search.

Practice Exam Questions


Question 1

A development team is building a Retrieval-Augmented Generation (RAG) application. They need to compare a user’s query embedding against thousands of stored document embeddings and return the most semantically similar documents.

Which SQL function is specifically designed for this purpose?

A. VECTOR_DISTANCE

B. VECTOR_SEARCH

C. VECTORPROPERTY

D. VECTOR_NORMALIZE

Correct Answer: B

Explanation:

VECTOR_SEARCH is designed to search an entire collection of stored vectors and return the nearest neighbors based on semantic similarity. VECTOR_DISTANCE compares only two vectors, VECTORPROPERTY returns metadata, and VECTOR_NORMALIZE standardizes vectors before comparison.


Question 2

An application receives embeddings from several AI models. Before storing them in SQL, developers want to verify that every embedding contains the expected number of dimensions.

Which function should they use?

A. VECTORPROPERTY

B. VECTOR_DISTANCE

C. VECTOR_SEARCH

D. VECTOR_NORMALIZE

Correct Answer: A

Explanation:

VECTORPROPERTY returns metadata about a vector, including characteristics such as its dimensions. This makes it ideal for validating vectors before they are stored.


Question 3

A developer needs to calculate how semantically similar two individual product descriptions are after generating embeddings for each.

Which function should be used?

A. VECTORPROPERTY

B. VECTOR_SEARCH

C. VECTOR_DISTANCE

D. VECTOR_NORMALIZE

Correct Answer: C

Explanation:

VECTOR_DISTANCE calculates the similarity or distance between two vectors. It is appropriate when directly comparing one embedding against another rather than searching an entire dataset.


Question 4

A machine learning engineer wants to eliminate differences caused by varying vector magnitudes before calculating cosine similarity.

Which function is most appropriate?

A. VECTORPROPERTY

B. VECTOR_SEARCH

C. VECTOR_DISTANCE

D. VECTOR_NORMALIZE

Correct Answer: D

Explanation:

VECTOR_NORMALIZE scales vectors to a consistent length while preserving their direction. This improves similarity calculations that rely on normalized vectors, particularly cosine similarity.


Question 5

A customer support chatbot first filters documentation to only include networking articles and then performs semantic retrieval over those documents.

What is the primary advantage of this approach?

A. It removes the need for embeddings.

B. It combines relational filtering with semantic search for improved relevance.

C. It converts keyword search into full-text search.

D. It prevents vector indexing.

Correct Answer: B

Explanation:

Filtering relational data before performing vector search reduces the search space and increases the relevance of returned results, improving both performance and accuracy.


Question 6

A SQL developer needs to rank five candidate documents according to how closely each one matches a user’s question.

Which function should be applied repeatedly against each candidate vector?

A. VECTOR_DISTANCE

B. VECTOR_SEARCH

C. VECTORPROPERTY

D. VECTOR_NORMALIZE

Correct Answer: A

Explanation:

VECTOR_DISTANCE computes similarity between two vectors. Developers can compare the query vector against multiple document vectors and rank the results by the smallest distance.


Question 7

Which scenario is the best use case for VECTOR_SEARCH?

A. Determining the number of dimensions stored within a vector

B. Standardizing vectors before storage

C. Finding the most similar documents across an entire knowledge base

D. Comparing only two vectors for similarity

Correct Answer: C

Explanation:

VECTOR_SEARCH is optimized for nearest-neighbor retrieval across an entire vector collection, making it ideal for semantic search applications such as RAG systems and AI assistants.


Question 8

An organization stores millions of embeddings inside Azure SQL Database.

Which action provides the greatest improvement in semantic search performance?

A. Increasing the embedding dimensions

B. Eliminating relational filtering

C. Replacing vectors with VARCHAR columns

D. Creating vector indexes

Correct Answer: D

Explanation:

Vector indexes significantly improve nearest-neighbor search performance over large datasets. Without indexing, vector searches become increasingly expensive as data volumes grow.


Question 9

A developer mistakenly uses VECTOR_SEARCH when they simply need to compare two embeddings generated during a unit test.

Which function would have been the more appropriate choice?

A. VECTORPROPERTY

B. VECTOR_DISTANCE

C. VECTOR_NORMALIZE

D. VECTOR_SEARCH

Correct Answer: B

Explanation:

VECTOR_DISTANCE compares two vectors directly. VECTOR_SEARCH is intended for searching an entire vector collection and would introduce unnecessary overhead for a simple comparison.


Question 10

Which statement best describes VECTORPROPERTY?

A. It calculates semantic similarity between vectors.

B. It searches vector indexes for nearest neighbors.

C. It retrieves metadata about stored vectors.

D. It converts text into embeddings.

Correct Answer: C

Explanation:

VECTORPROPERTY returns information about vectors, such as their dimensions or other characteristics. It does not calculate similarity, generate embeddings, or perform semantic searches.


DP-800 Exam Tips

  • Know the distinction between VECTOR_DISTANCE (two-vector comparison) and VECTOR_SEARCH (collection-wide nearest-neighbor search).
  • Use VECTORPROPERTY to inspect or validate vector metadata before processing.
  • Apply VECTOR_NORMALIZE when your similarity metric or embedding workflow benefits from normalized vectors.
  • Combine relational filtering with semantic search to improve performance and relevance.
  • Create vector indexes for large datasets to optimize semantic search operations.
  • Expect scenario-based exam questions that require selecting the appropriate vector function based on a real-world AI application, such as RAG, semantic search, recommendation systems, or AI chatbots.

Go to the DP-800 Exam Prep Hub main page

Configure semantic search, hybrid search, and vector search for Grounding (AI-103 Exam Prep)

This post is a part of the AI-103: Develop AI Apps and Agents on Azure Exam Prep Hub. 
This topic falls under these sections:
Implement information extraction solutions (10–15%)
--> Build retrieval and grounding pipelines
--> Configure semantic search, hybrid search, and vector search for Grounding


Note that there are 10 practice questions (with answers and explanations) at the end of each section to help you solidify your knowledge of the material. Also, there are 2 practice tests with 60 questions each available from the hub's main page below the exam topics section.

Introduction

For the AI-103: Develop AI Apps and Agents on Azure certification exam, one of the most important modern AI concepts is understanding how to configure and use:

  • Semantic search
  • Vector search
  • Hybrid search

These technologies are foundational to:

  • Retrieval-Augmented Generation (RAG)
  • AI agents
  • Enterprise copilots
  • Knowledge mining systems
  • Grounded AI applications

In modern Azure AI architectures, these search methods help Large Language Models (LLMs) retrieve relevant enterprise content so responses are accurate, current, and grounded in trusted data.


Why Grounding Matters

LLMs such as those used through Azure OpenAI Service are powerful, but they have limitations:

  • They may hallucinate
  • Their training data may be outdated
  • They do not automatically know private organizational data
  • They cannot inherently access enterprise documents

Grounding solves this problem.

What Is Grounding?

Grounding means providing an AI model with relevant external data during inference.

Example:

User Question:
"What is our company travel reimbursement policy?"
AI Workflow:
1. Retrieve policy document chunks
2. Provide chunks to LLM
3. Generate grounded answer

Without grounding, the model might invent an answer.

With grounding, the response is based on actual company documentation.


Core Azure Services Used

Several Azure services commonly appear in grounding architectures.

ServicePurpose
Azure AI SearchSearch indexes, vector search, semantic ranking
Azure OpenAI ServiceEmbeddings generation and LLM responses
Azure Blob StorageStore source documents
Azure AI Document IntelligenceExtract document content
Azure AI FoundryBuild AI agents and orchestration workflows

Understanding Search Types

There are three major search approaches you must understand for AI-103:

Search TypeMain Purpose
Keyword SearchExact text matching
Semantic SearchMeaning-based ranking
Vector SearchEmbedding similarity
Hybrid SearchCombines keyword + semantic + vector

Traditional Keyword Search

Traditional search relies on:

  • Exact matches
  • Tokens
  • Lexical analysis

Example:

Search Query:
"reset password"

Documents containing:

"reset password"

will rank highly.

However, keyword search struggles with:

  • Synonyms
  • Context
  • Natural language intent

Example:

"change account credentials"

may not match well.


Semantic Search

What Is Semantic Search?

Semantic search improves retrieval by understanding:

  • Context
  • Meaning
  • Intent
  • Relationships between words

Instead of only exact keywords, semantic search uses language understanding to improve ranking quality.


How Semantic Search Works

Semantic search:

  1. Interprets user intent
  2. Understands relationships between phrases
  3. Re-ranks search results
  4. Produces more relevant answers

Example:

User Query:
"How do I update my login information?"

Semantic search may retrieve:

"Instructions for changing account credentials"

even without exact keyword matches.


Semantic Ranking

In Azure AI Search, semantic ranking:

  • Reorders results based on relevance
  • Uses deep language models
  • Improves natural language search experiences

Important AI-103 point:

Semantic search enhances ranking, but it does not replace vector search.


Semantic Captions and Answers

Azure AI Search semantic search can generate:

  • Semantic captions
  • Semantic answers

Semantic Captions

Short highlighted summaries from documents.

Semantic Answers

Direct answers extracted from indexed content.

Example:

Question:
"What is the vacation accrual policy?"
Semantic answer:
"Employees accrue 10 vacation days annually."

Vector Search

What Is Vector Search?

Vector search uses embeddings to retrieve semantically similar content.

Instead of matching keywords, vector search compares numerical vectors.


What Are Embeddings?

Embeddings are numerical representations of content.

Words or concepts with similar meanings are placed near each other in vector space.

Example:

"car"
"automobile"
"vehicle"

These concepts become mathematically similar vectors.


Embedding Generation

Embeddings are commonly generated using models in:

  • Azure OpenAI Service
  • Azure AI Foundry models

Typical embedding workflow:

  1. Chunk documents
  2. Generate embeddings
  3. Store vectors in search index
  4. Generate embedding for user query
  5. Retrieve nearest vectors

Vector Search Workflow

Document Chunk
↓
Embedding Model
↓
Vector Embedding
↓
Stored in Search Index

Query workflow:

User Query
↓
Embedding Model
↓
Query Vector
↓
Nearest Neighbor Search

Nearest Neighbor Search

Vector databases use similarity calculations such as:

  • Cosine similarity
  • Euclidean distance

The system retrieves content with the closest vectors.

Important exam concept:

Vector similarity measures semantic closeness.


Configuring Vector Search in Azure AI Search

To configure vector search, you typically:

  1. Create vector-enabled fields
  2. Generate embeddings
  3. Store embeddings in index
  4. Configure vector search profiles
  5. Execute vector queries

Example Vector Index Structure

Example fields:

FieldType
idString
contentString
contentVectorCollection(Float)
titleString

The vector field stores embeddings.


Vector Dimensions

Embedding models produce vectors with fixed dimensions.

Example:

1536 dimensions

Important:

The vector field dimension must match the embedding model output.


Hybrid Search

What Is Hybrid Search?

Hybrid search combines:

  • Keyword search
  • Semantic ranking
  • Vector similarity

This is one of the most important AI-103 topics.


Why Hybrid Search Matters

Each search method has strengths and weaknesses.

MethodStrength
Keyword searchExact matching
Semantic searchBetter ranking/context
Vector searchConceptual similarity

Hybrid search combines all three for optimal retrieval quality.


Hybrid Search Architecture

User Query
↓
Keyword Search
+
Vector Search
↓
Combined Results
↓
Semantic Re-ranking
↓
Top Grounding Results

This architecture is extremely common in enterprise RAG systems.


Why Hybrid Search Is Recommended

Hybrid search improves:

  • Recall
  • Precision
  • Relevance
  • Context matching
  • Grounding quality

This reduces hallucinations and improves AI responses.


Retrieval-Augmented Generation (RAG)

What Is RAG?

RAG combines:

  • Retrieval systems
  • External knowledge
  • Generative AI

Workflow:

User Query
↓
Search Retrieval
↓
Relevant Chunks
↓
LLM Prompt
↓
Grounded Response

Grounding Pipeline Example

Documents in Blob Storage
↓
Azure AI Search Indexer
↓
Chunking
↓
Embedding Generation
↓
Vector Index
↓
Hybrid Search Retrieval
↓
Azure OpenAI Prompt
↓
Grounded Response

This pipeline appears frequently in AI-103 scenarios.


Chunking and Retrieval Quality

Chunking directly affects search quality.

Good chunks:

  • Preserve meaning
  • Fit token limits
  • Improve embedding relevance

Poor chunking causes:

  • Incomplete answers
  • Lost context
  • Lower retrieval accuracy

Semantic vs Vector Search

Semantic SearchVector Search
Improves rankingRetrieves by embedding similarity
Language understandingNumerical vector comparison
Works with textual relevanceWorks with semantic proximity
Re-ranking layerRetrieval mechanism

Important:

These technologies complement each other.


Filtering in Grounding Pipelines

Metadata filtering improves retrieval quality.

Common filters:

  • Department
  • Security level
  • Document type
  • Date
  • Language

Example:

department = Finance

This limits retrieval scope.


Security Trimming

Enterprise grounding systems often require:

  • RBAC
  • Document-level security
  • Identity-aware retrieval

Important exam concept:

Users should retrieve only authorized content.


Performance Optimization

Key optimization techniques:

  • Proper chunk sizes
  • Embedding caching
  • Hybrid search
  • Metadata filtering
  • Incremental indexing
  • Semantic ranking

Common AI-103 Scenarios

Scenario 1

You need a chatbot that answers using internal PDFs.

Solution:

  • Azure AI Search
  • Embeddings
  • Vector search
  • Hybrid search
  • Azure OpenAI

Scenario 2

You need better ranking for natural language queries.

Solution:

  • Semantic search
  • Semantic ranking

Scenario 3

You need concept-based retrieval rather than keyword matching.

Solution:

  • Vector search

Scenario 4

You need maximum retrieval accuracy.

Solution:

  • Hybrid search

Important AI-103 Exam Tips

Know These Core Concepts

ConceptKey Purpose
EmbeddingsVector representation
Vector searchSemantic retrieval
Semantic rankingBetter result ordering
Hybrid searchCombined retrieval
GroundingProviding trusted context
ChunkingBreaking documents into manageable pieces

Frequently Tested Knowledge Areas

Expect questions involving:

  • RAG architectures
  • Embedding generation
  • Vector-enabled indexes
  • Hybrid retrieval
  • Semantic ranking
  • Grounding pipelines
  • Azure AI Search configuration
  • Chunking strategies

Final Thoughts

Semantic search, vector search, and hybrid search are foundational technologies for modern AI systems on Azure.

For AI-103, focus heavily on:

  • How embeddings work
  • When to use vector search
  • Why hybrid search is recommended
  • How semantic ranking improves results
  • How grounding reduces hallucinations
  • How Azure AI Search integrates with Azure OpenAI

These concepts are central to enterprise AI agents, copilots, and generative AI applications.


Practice Exam Questions

Question 1

What is the primary purpose of grounding in a generative AI solution?

A. Reduce storage costs
B. Train foundation models
C. Provide trusted external context to the LLM
D. Encrypt embeddings

Answer

C. Provide trusted external context to the LLM


Question 2

Which Azure service commonly provides vector search capabilities?

A. Azure Monitor
B. Azure AI Search
C. Azure Virtual Machines
D. Azure Backup

Answer

B. Azure AI Search


Question 3

What are embeddings used for in vector search?

A. Encryption
B. Data compression
C. Numerical semantic representations
D. OCR processing

Answer

C. Numerical semantic representations


Question 4

Which search type is best at retrieving semantically similar concepts even when keywords differ?

A. Boolean search
B. Lexical search
C. Metadata search
D. Vector search

Answer

D. Vector search


Question 5

What does hybrid search combine?

A. OCR and translation
B. Keyword and vector search
C. SQL and NoSQL databases
D. Blob storage and Cosmos DB

Answer

B. Keyword and vector search


Question 6

What is the role of semantic ranking in Azure AI Search?

A. Improve relevance ordering of results
B. Encrypt search indexes
C. Generate embeddings
D. Compress vectors

Answer

A. Improve relevance ordering of results


Question 7

Which process converts text into numerical vectors?

A. OCR
B. Tokenization
C. Embedding generation
D. Semantic ranking

Answer

C. Embedding generation


Question 8

Why is chunking important in grounding pipelines?

A. It removes duplicate users
B. It reduces RBAC complexity
C. It improves retrieval relevance and token management
D. It encrypts documents

Answer

C. It improves retrieval relevance and token management


Question 9

Which search approach generally provides the best retrieval quality for enterprise RAG applications?

A. Keyword search only
B. Vector search only
C. SQL full-text search
D. Hybrid search

Answer

D. Hybrid search


Question 10

Which statement best describes semantic search?

A. It only retrieves exact keyword matches
B. It uses language understanding to improve relevance
C. It replaces embeddings entirely
D. It only works on structured databases

Answer

B. It uses language understanding to improve relevance


Go to the AI-103 Exam Prep Hub main page