You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/hybrid-search-how-to-query.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ To improve relevance, use these parameters:
28
28
29
29
+ A search index containing `searchable` vector and nonvector fields. See [Create an index](search-how-to-create-search-index.md) and [Add vector fields to a search index](vector-search-how-to-create-index.md).
30
30
31
-
+ (Optional) If you want [semantic ranking](semantic-how-to-configure.md), your search service must be Basic tier or higher, with [semantic ranking enabled](semantic-how-to-enable-disable.md).
31
+
+ (Optional) If you want the [semantic ranker](semantic-search-overview.md), your search service must be Basic tier or higher, with [semantic ranker enabled](semantic-how-to-enable-disable.md).
32
32
33
33
+ (Optional) If you want text-to-vector conversion of a query string, [create and assign a vectorizer](vector-search-how-to-configure-vectorizer.md) to vector fields in the search index.
34
34
@@ -167,7 +167,7 @@ api-key: {{admin-api-key}}
167
167
168
168
## Semantic hybrid search
169
169
170
-
Assuming that you [enabled semantic ranking](semantic-how-to-enable-disable.md) and your index definition includes a [semantic configuration](semantic-how-to-query-request.md), you can formulate a query that includes vector search and keyword search, with semantic ranking over the merged result set. Optionally, you can add captions and answers.
170
+
Assuming that you [enabled semantic ranker](semantic-how-to-enable-disable.md) and your index definition includes a [semantic configuration](semantic-how-to-query-request.md), you can formulate a query that includes vector search and keyword search, with semantic ranking over the merged result set. Optionally, you can add captions and answers.
171
171
172
172
```http
173
173
POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2024-07-01
@@ -200,7 +200,7 @@ api-key: {{admin-api-key}}
200
200
201
201
**Key points:**
202
202
203
-
+ Semantic ranking accepts up to 50 results from the merged response.
203
+
+ Semantic ranker accepts up to 50 results from the merged response.
204
204
205
205
+ "queryType" and "semanticConfiguration" are required.
206
206
@@ -353,9 +353,9 @@ Both "k" and "top" are optional. Unspecified, the default number of results in a
353
353
> [!NOTE]
354
354
> The semantic ranker can take up to 50 results.
355
355
356
-
If you're using semantic ranking in 2024-05-01-preview API, it's a best practice to set "k" and "maxTextRecallSize" to sum to at least 50 total. You can then restrict the results returned to the user with the "top" parameter.
356
+
If you're using semantic ranker in 2024-05-01-preview API, it's a best practice to set "k" and "maxTextRecallSize" to sum to at least 50 total. You can then restrict the results returned to the user with the "top" parameter.
357
357
358
-
If you're using semantic ranking in previous APIs do the following:
358
+
If you're using semantic ranker in previous APIs do the following:
359
359
360
360
+ if doing keyword-only search (no vector) set "top" to 50
361
361
+ if doing hybrid search set "k" to 50, to ensure that the semantic ranker gets at least 50 results.
Copy file name to clipboardExpand all lines: articles/search/hybrid-search-overview.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,7 @@ Key points include:
68
68
+`select` specifies which fields to return in results, which can be text fields that are human readable.
69
69
+`filters` can specify geospatial search or other include and exclude criteria, such as whether parking is included. The geospatial query in this example finds hotels within a 300-kilometer radius of Washington D.C.
70
70
+`facets` can be used to compute facet buckets over results that are returned from hybrid queries.
71
-
+`queryType=semantic` invokes semantic ranking, applying machine reading comprehension to surface more relevant search results.
71
+
+`queryType=semantic` invokes semantic ranker, applying machine reading comprehension to surface more relevant search results.
72
72
73
73
Filters and facets target data structures within the index that are distinct from the inverted indexes used for full text search and the vector indexes used for vector search. As such, when filters and faceted operations execute, the search engine can apply the operational result to the hybrid search results in the response.
74
74
@@ -124,7 +124,7 @@ A response from the above query might look like this:
124
124
125
125
Hybrid search combines the strengths of vector search and keyword search. The advantage of vector search is finding information that's conceptually similar to your search query, even if there are no keyword matches in the inverted index. The advantage of keyword or full text search is precision, with the ability to apply semantic ranking that improves the quality of the initial results. Some scenarios - such as querying over product codes, highly specialized jargon, dates, and people's names - can perform better with keyword search because it can identify exact matches.
126
126
127
-
Benchmark testing on real-world and benchmark datasets indicates that hybrid retrieval with semantic ranking offers significant benefits in search relevance.
127
+
Benchmark testing on real-world and benchmark datasets indicates that hybrid retrieval with semantic ranker offers significant benefits in search relevance.
128
128
129
129
The following video explains how hybrid retrieval gives you optimal grounding data for generating useful AI responses.
Copy file name to clipboardExpand all lines: articles/search/hybrid-search-ranking.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ ms.service: cognitive-search
9
9
ms.custom:
10
10
- ignite-2023
11
11
ms.topic: conceptual
12
-
ms.date: 06/12/2024
12
+
ms.date: 09/24/2024
13
13
---
14
14
15
15
# Relevance scoring in hybrid search using Reciprocal Rank Fusion (RRF)
@@ -55,7 +55,7 @@ The following chart identifies the scoring property returned on each match, algo
55
55
| hybrid search |`@search.score`| RRF algorithm | Upper limit is bounded by the number of queries being fused, with each query contributing a maximum of approximately 1 to the RRF score. For example, merging three queries would produce higher RRF scores than if only two search results are merged. |
Semantic ranking doesn't participate in RRF. Its score (`@search.rerankerScore`) is always reported separately in the query response. Semantic ranking can rerank full text and hybrid search results, assuming those results include fields having semantically rich content.
58
+
Semantic ranking occurs after RRF merging of results. Its score (`@search.rerankerScore`) is always reported separately in the query response. Semantic ranker can rerank full text and hybrid search results, assuming those results include fields having semantically rich content. It can rerank pure vector queries if the search documents include text fields that contain semantically relevant content.
Copy file name to clipboardExpand all lines: articles/search/retrieval-augmented-generation-overview.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,7 +116,7 @@ There's no query type in Azure AI Search - not even semantic or vector search -
116
116
|---------------|---------|------------|
117
117
|[Simple or full Lucene syntax](search-query-create.md)| Query execution over text and nonvector numeric content | Full text search is best for exact matches, rather than similar matches. Full text search queries are ranked using the [BM25 algorithm](index-similarity-and-scoring.md) and support relevance tuning through scoring profiles. It also supports filters and facets. |
118
118
|[Filters](search-filters.md) and [facets](search-faceted-navigation.md)| Applies to text or numeric (nonvector) fields only. Reduces the search surface area based on inclusion or exclusion criteria. | Adds precision to your queries. |
119
-
|[Semantic ranking](semantic-how-to-query-request.md)| Re-ranks a BM25 result set using semantic models. Produces short-form captions and answers that are useful as LLM inputs. | Easier than scoring profiles, and depending on your content, a more reliable technique for relevance tuning. |
119
+
|[Semantic ranker](semantic-how-to-query-request.md)| Re-ranks a BM25 result set using semantic models. Produces short-form captions and answers that are useful as LLM inputs. | Easier than scoring profiles, and depending on your content, a more reliable technique for relevance tuning. |
120
120
[Vector search](vector-search-how-to-query.md) | Query execution over vector fields for similarity search, where the query string is one or more vectors. | Vectors can represent all types of content, in any language. |
121
121
|[Hybrid search](hybrid-search-how-to-query.md)| Combines any or all of the above query techniques. Vector and nonvector queries execute in parallel and are returned in a unified result set. | The most significant gains in precision and recall are through hybrid queries. |
122
122
@@ -145,7 +145,7 @@ Here are some tips for maximizing relevance and recall:
145
145
146
146
+[Scoring profiles](index-add-scoring-profiles.md) that boost the search score if matches are found in a specific search field or on other criteria.
147
147
148
-
+[Semantic ranking](semantic-ranking.md) that re-ranks an initial results set, using semantic models from Bing to reorder results for a better semantic fit to the original query.
148
+
+[Semantic ranker](semantic-ranking.md) that re-ranks an initial results set, using semantic models from Bing to reorder results for a better semantic fit to the original query.
149
149
150
150
+ Query parameters for fine-tuning. You can [bump up the importance of vector queries](vector-search-how-to-query.md#vector-weighting) or [adjust the amount of BM25-ranked results](vector-search-how-to-query.md#maxtextsizerecall-for-hybrid-search-preview) in a hybrid query. You can also [set minimum thresholds to exclude low scoring results](vector-search-how-to-query.md#set-thresholds-to-exclude-low-scoring-results-preview) from a vector query.
Copy file name to clipboardExpand all lines: articles/search/samples-dotnet.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ Code samples from the Azure SDK development team demonstrate API usage. You can
39
39
|[Indexing documents (push model)](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples/Sample05_IndexingDocuments.md)| "Push" model indexing, where you send a JSON payload to an index on a service. |
40
40
|[Encryption key sample](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples/Sample06_EncryptedIndex.md)| Demonstrates using a customer-managed encryption key to add an extra layer of protection over sensitive content. |
41
41
|[Vector search sample](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples/Sample07_VectorSearch.md)| Shows you how to index a vector field and perform vector search using the Azure SDK for .NET. |
42
-
|[Semantic ranking sample](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples/Sample08_SemanticSearch.md)| Shows you how to configure semantic ranking in an index and invoke semantic queries using the Azure SDK for .NET. |
42
+
|[Semantic ranking sample](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/samples/Sample08_SemanticSearch.md)| Shows you how to configure semantic ranker in an index and invoke semantic queries using the Azure SDK for .NET. |
43
43
44
44
## Doc samples
45
45
@@ -52,7 +52,7 @@ Code samples from the Azure AI Search team demonstrate features and workflows. A
52
52
|-------------|------------------|---------|
53
53
|[create-mvc-app](https://github.com/Azure-Samples/azure-search-dotnet-samples/tree/main/create-mvc-app)|[Tutorial: Add search to an ASP.NET Core (MVC) app](tutorial-csharp-create-mvc-app.md)| While most samples are console applications, this MVC sample uses a web page to front the sample Hotels index, demonstrating basic search, pagination, and other server-side behaviors.|
54
54
|[quickstart](https://github.com/Azure-Samples/azure-search-dotnet-samples/tree/main/quickstart/v11)|[Quickstart: Full text search using the Azure SDKs](search-get-started-text.md)| Covers the basic workflow for creating, loading, and querying a search index in C# using sample data. |
55
-
|[quickstart-semantic-search](https://github.com/Azure-Samples/azure-search-dotnet-samples/blob/main/quickstart-semantic-search/)|[Quickstart: Semantic ranking using the Azure SDKs](search-get-started-semantic.md)| Shows the index schema and query request for invoking semantic ranking. |
55
+
|[quickstart-semantic-search](https://github.com/Azure-Samples/azure-search-dotnet-samples/blob/main/quickstart-semantic-search/)|[Quickstart: Semantic ranking using the Azure SDKs](search-get-started-semantic.md)| Shows the index schema and query request for invoking semantic ranker. |
56
56
|[search-website](https://github.com/Azure-Samples/azure-search-static-web-app)|[Tutorial: Add search to web apps](tutorial-csharp-overview.md)| Demonstrates an end-to-end search app that includes bulk upload using the push APIs and a rich client for hosting the app and handling search requests.|
57
57
|[tutorial-ai-enrichment](https://github.com/Azure-Samples/azure-search-dotnet-samples/tree/main/tutorial-ai-enrichment)|[Tutorial: AI-generated searchable content from Azure blobs](cognitive-search-tutorial-blob-dotnet.md)| Shows how to configure an indexer and skillset. |
58
58
| [multiple-data-sources](https://github.com/Azure-Samples/azure-search-dotnet-scale/tree/main/multiple-data-sources) | [Tutorial: Index from multiple data sources](tutorial-multiple-data-sources.md). | Merges content from two data sources into one search index.
Copy file name to clipboardExpand all lines: articles/search/samples-python.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ Code samples from the Azure AI Search team demonstrate features and workflows. M
39
39
|[Tutorial-RAG](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/Tutorial-RAG)| Source code for the Python portion of [How to build a RAG solution using Azure AI Search](tutorial-rag-build-solution.md).|
40
40
|[Quickstart](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/Quickstart)| Source code for the Python portion of [Quickstart: Full text search using the Azure SDKs](search-get-started-text.md). This article covers the basic workflow for creating, loading, and querying a search index using sample data. |
41
41
|[Quickstart-RAG](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/Quickstart-RAG)| Source code for the Python portion of [Quickstart: Generative search (RAG) with grounding data from Azure AI Search](search-get-started-rag.md). |
42
-
|[Quickstart-Semantic-Search](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/Quickstart-Semantic-Search)| Source code for the Python portion of [Quickstart: Semantic ranking using the Azure SDKs](search-get-started-semantic.md). It shows the index schema and query request for invoking semantic ranking. |
42
+
|[Quickstart-Semantic-Search](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/Quickstart-Semantic-Search)| Source code for the Python portion of [Quickstart: Semantic ranking using the Azure SDKs](search-get-started-semantic.md). It shows the index schema and query request for invoking semantic ranker. |
43
43
|[bulk-insert](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/bulk-insert)| Source code for the Python example of how to [use the push APIs](search-how-to-load-search-index.md) to upload and index documents. |
44
44
|[azure-function-search](https://github.com/Azure-Samples/azure-search-python-samples/tree/main/azure-function-search)| Source code for the Python example of an Azure function that sends queries to a search service. You can substitute this Python version of the `api` code used in the [Add search to web sites](tutorial-csharp-overview.md) C# sample. |
Copy file name to clipboardExpand all lines: articles/search/search-api-migration.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ We recommend upgrading API versions in succession, working through each version
35
35
36
36
Azure AI Search breaks backward compatibility as a last resort. Upgrade is necessary when:
37
37
38
-
+ Your code references a retired or unsupported API version and is subject to one or more breaking changes. You must address breaking changes if your code targets [`2023-07-10-preview`](#code-upgrade-for-vector-indexes-and-queries) for vectors, [`2020-06-01-preview`](#breaking-change-for-semantic-ranking) for semantic ranking, and [`2019-05-06`](#upgrade-to-2019-05-06) for obsolete skills and workarounds.
38
+
+ Your code references a retired or unsupported API version and is subject to one or more breaking changes. You must address breaking changes if your code targets [`2023-07-10-preview`](#code-upgrade-for-vector-indexes-and-queries) for vectors, [`2020-06-01-preview`](#breaking-change-for-semantic-ranking) for semantic ranker, and [`2019-05-06`](#upgrade-to-2019-05-06) for obsolete skills and workarounds.
39
39
40
40
+ Your code fails when unrecognized properties are returned in an API response. As a best practice, your application should ignore properties that it doesn't understand.
41
41
@@ -63,13 +63,13 @@ Effective March 29, 2024 and applicable to all [supported REST APIs](/rest/api/s
63
63
64
64
+ If you need to retrieve connection strings of another Azure resource such as Azure Storage or Azure Cosmos DB, use the APIs of that resource and published guidance to obtain the information.
65
65
66
-
## Breaking change for semantic ranking
66
+
## Breaking change for semantic ranker
67
67
68
-
[Semantic ranking](semantic-search-overview.md) is generally available in `2023-11-01`. Here are the breaking changes for semantic ranking from earlier releases:
68
+
[Semantic ranker](semantic-search-overview.md) is generally available in `2023-11-01`. Here are the breaking changes for semantic ranker from earlier releases:
69
69
70
70
+ In all versions after `2020-06-01-preview`: `semanticConfiguration` replaces `searchFields` as the mechanism for specifying which fields to use for L2 ranking.
71
71
72
-
+ For all API versions, updates on July 14, 2023 to the Microsoft-hosted semantic models made semantic ranking language-agnostic, effectively decommissioning the `queryLanguage` property. There's no "breaking change" in code, but the property is ignored.
72
+
+ For all API versions, updates on July 14, 2023 to the Microsoft-hosted semantic models made semantic ranker language-agnostic, effectively decommissioning the `queryLanguage` property. There's no "breaking change" in code, but the property is ignored.
73
73
74
74
See [Migrate from preview version](semantic-how-to-configure.md#migrate-from-preview-versions) to transition your code to use `semanticConfiguration`.
75
75
@@ -103,7 +103,7 @@ If you're upgrading from `2023-10-01-preview`, there are no breaking changes. Ho
103
103
104
104
## Upgrade to 2023-11-01
105
105
106
-
[`2023-11-01`](/rest/api/searchservice/search-service-api-versions#2023-11-01) is a general release. The former preview features are now generally available: semantic ranking, vector index and query support.
106
+
[`2023-11-01`](/rest/api/searchservice/search-service-api-versions#2023-11-01) is a general release. The former preview features are now generally available: semantic ranker, vector index and query support.
107
107
108
108
There are no breaking changes from `2023-10-01-preview`, but there are multiple breaking changes from `2023-07-01-preview` to `2023-11-01`. For more information, see [Upgrade from 2023-07-01-preview](#upgrade-from-2023-07-01-preview).
0 commit comments