Skip to content

Commit

Permalink
Merge pull request #2358 from HeidiSteen/heidist-freshness
Browse files Browse the repository at this point in the history
[azure search] Freshness pass, #2
  • Loading branch information
JamesJBarnett authored Jan 17, 2025
2 parents 3e71535 + de50477 commit 82aa35a
Show file tree
Hide file tree
Showing 10 changed files with 70 additions and 74 deletions.
36 changes: 18 additions & 18 deletions articles/search/index-add-custom-analyzers.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion articles/search/index-add-language-analyzers.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ms.service: azure-ai-search
ms.custom:
- ignite-2023
ms.topic: how-to
ms.date: 05/23/2024
ms.date: 01/16/2025
---

# Add language analyzers to string fields in an Azure AI Search index
Expand Down
6 changes: 3 additions & 3 deletions articles/search/search-analyzers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ manager: nitinme
ms.author: heidist
ms.service: azure-ai-search
ms.topic: conceptual
ms.date: 05/23/2024
ms.date: 01/16/2025
ms.custom:
- devx-track-csharp
- ignite-2023
Expand All @@ -22,9 +22,9 @@ An *analyzer* is a component of the [full text search engine](search-lucene-quer
+ Lower-case any upper-case words
+ Reduce words into primitive root forms for storage efficiency and so that matches can be found regardless of tense

Analysis applies to `Edm.String` fields that are marked as "searchable", which indicates full text search.
The output of a lexical analyzer is a sequence of [tokens](https://suif.stanford.edu/dragonbook/lecture-notes/Stanford-CS143/03-Lexical-Analysis.pdf).

For fields of this configuration, analysis occurs during indexing when tokens are created, and then again during query execution when queries are parsed and the engine scans for matching tokens. A match is more likely to occur when the same analyzer is used for both indexing and queries, but you can set the analyzer for each workload independently, depending on your requirements.
Lexical analysis applies to `Edm.String` fields that are marked as "searchable", which indicates full text search. For fields of this configuration, analysis occurs during indexing when tokens are created, and then again during query execution when queries are parsed and the engine scans for matching tokens. A match is more likely to occur when the same analyzer is used for both indexing and queries, but you can set the analyzer for each workload independently, depending on your requirements.

Query types that are *not* full text search, such as filters or fuzzy search, don't go through the analysis phase on the query side. Instead, the parser sends those strings directly to the search engine, using the pattern that you provide as the basis for the match. Typically, these query forms require whole-string tokens to make pattern matching work. To ensure whole term tokens are preserved during indexing, you might need [custom analyzers](index-add-custom-analyzers.md). For more information about when and why query terms are analyzed, see [Full text search in Azure AI Search](search-lucene-query-architecture.md).

Expand Down
36 changes: 17 additions & 19 deletions articles/search/search-api-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ms.custom:
- devx-track-python
- ignite-2023
ms.topic: conceptual
ms.date: 06/24/2024
ms.date: 01/16/2025
---

# API versions in Azure AI Search
Expand Down Expand Up @@ -57,33 +57,31 @@ Support for the above-listed versions ended on October 15, 2020. If you have cod

The following table provides links to more recent SDK versions.

| SDK version | Status | Description |
|-------------|--------|------------------------------|
| [Azure.Search.Documents 11](/dotnet/api/overview/azure/search.documents-readme) | Active | New client library from the Azure .NET SDK team, initially released July 2020. See the [Change Log](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Search.Documents_11.3.0/sdk/search/Azure.Search.Documents/CHANGELOG.md) for information about minor releases. |
| [Microsoft.Azure.Search 10](https://www.nuget.org/packages/Microsoft.Azure.Search/) | Retired | Released May 2019. This is the last version of the Microsoft.Azure.Search package and it's now deprecated. It's succeeded by Azure.Search.Documents. |
| [Microsoft.Azure.Management.Search 4.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Search/4.0.0) | Active | Targets the Management REST api-version=2020-08-01. |
| [Microsoft.Azure.Management.Search 3.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Search/3.0.0) | Retired | Targets the Management REST api-version=2015-08-19. |
| SDK version | Status | Change log | Description |
|-------------|--------|------------ |-----------------|
| [Azure.Search.Documents 11](/dotnet/api/overview/azure/search.documents-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.Search.Documents/CHANGELOG.md) | APIs for data plane operations on a service, such as read-write operations on content and objects. |
| [Azure.ResourceManager.Search](https://www.nuget.org/packages/Microsoft.Azure.Management.Search/4.0.0) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/search/Azure.ResourceManager.Search/CHANGELOG.md) | APIs for control plane operations on the search service. |

## Azure SDK for Java

| SDK version | Status | Description |
|-------------|--------|------------------------------|
| [Java azure-search-documents 11](/java/api/overview/azure/search-documents-readme) | Active | Use the `azure-search-documents` client library for data plane operations. |
| [Java Management Client 1.35.0](/java/api/overview/azure/search/management) | Active | Use the `azure-mgmt-search` client library for control plane operations. |
| SDK version | Status | Change log | Description |
|-------------|--------|------------|-----------------|
| [azure-search-documents 11](/java/api/overview/azure/search-documents-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/search/azure-search-documents/CHANGELOG.md) Use the `azure-search-documents` client library for data plane operations. |
| [azure-resourcemanager-search 2](/java/api/overview/azure/resourcemanager-search-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/azure-resourcemanager-search/CHANGELOG.md) | Use the `azure-resourcemanager-search` client library for control plane operations. |

## Azure SDK for JavaScript

| SDK version | Status | Description |
|-------------|--------|------------------------------|
| [JavaScript @azure/search-documents 11.0](/javascript/api/overview/azure/search-documents-readme) | Active | Use the `@azure/search-documents` client library for data plane operations. |
| [JavaScript @azure/arm-search](https://www.npmjs.com/package/@azure/arm-search) | Active | Use the `@azure/arm-search` client library for control plane operations. |
| SDK version | Status | Change log | Description |
|-------------|--------|------------|------------------|
| [@azure/search-documents 12](/javascript/api/overview/azure/search-documents-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/search-documents/CHANGELOG.md) | Use the `@azure/search-documents` client library for data plane operations. |
| [@azure/arm-search 4](/javascript/api/overview/azure/arm-search-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/search/arm-search/CHANGELOG.md) | Use the `@azure/arm-search` package for control plane operations. |

## Azure SDK for Python

| SDK version | Status | Description |
|-------------|--------|------------------------------|
| [Python azure-search-documents 11.0](/python/api/azure-search-documents) | Active | Use the `azure-search-documents` client library for data plane operations. |
| [Python azure-mgmt-search 8.0](https://pypi.org/project/azure-mgmt-search/) | Active | Use the `azure-mgmt-search` client library for control plane operations. |
| SDK version | Status | Change log | Description |
|-------------|--------|------------|------------------|
| [azure-search-documents 11](/python/api/overview/azure/search-documents-readme) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/CHANGELOG.md) | Use the `azure-search-documents` client library for data plane operations. |
| [azure-mgmt-search 9](https://pypi.org/project/azure-mgmt-search/) | Active | [Change Log](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-mgmt-search/CHANGELOG.md) | Use the `azure-mgmt-search` client library for control plane operations. |

## All Azure SDKs

Expand Down
2 changes: 1 addition & 1 deletion articles/search/search-faceted-navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: HeidiSteen
ms.author: heidist
ms.service: azure-ai-search
ms.topic: conceptual
ms.date: 10/31/2024
ms.date: 01/16/2025
---

# Add faceted navigation to a search app
Expand Down
12 changes: 6 additions & 6 deletions articles/search/search-faq-frequently-asked-questions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
ms.author: heidist
ms.service: azure-ai-search
ms.topic: faq
ms.date: 05/28/2024
ms.date: 01/16/2025
title: Azure AI Search Frequently Asked Questions
summary: Find answers to commonly asked questions about Azure AI Search.

Expand All @@ -36,7 +36,7 @@ sections:
answer: |
For vectors, the embedding models you use determines the linguistic experience.
For nonvector strings and numbers, the default analyzer used for tokenization is standard Lucene and it is language agnostic. Otherwise, language support is expressed through [language analyzers](index-add-language-analyzers.md#supported-language-analyzers) that apply linguistic rules to inbound (indexing) and outbound (queries) content. Some features, such as [speller](speller-how-to-add.md#supported-languages), are limited to a subset of languages.
For nonvector strings and numbers, the default analyzer used for tokenization is standard Lucene and it's language agnostic. Otherwise, language support is expressed through [language analyzers](index-add-language-analyzers.md#supported-language-analyzers) that apply linguistic rules to inbound (indexing) and outbound (queries) content. Some features, such as [speller](speller-how-to-add.md#supported-languages) and [query rewrite](semantic-how-to-query-rewrite.md), are limited to a subset of languages.
- question: |
How do I integrate search into my solution?
Expand Down Expand Up @@ -101,12 +101,12 @@ sections:
- question: |
Does Azure AI Search support vector search?
answer: |
Azure AI Search supports vector indexing and retrieval. It can vectorize query strings and content if you use the preview and beta libraries.
Azure AI Search supports vector indexing and retrieval. It can chunk and vectorize query strings and content if you use [integrated vectorization](vector-search-integrated-vectorization.md) and take a dependency on indexers and skillsets.
- question: |
How does vector search work in Azure AI Search?
answer: |
With standalone vector search, you first use an embedding model to transform content into a vector representation within an embedding space. You can then provide these vectors in a document payload to the search index for indexing. To serve search requests, you use the same deep neural network (DNN) from indexing to transform the search query into a vector representation, and vector search finds the most similar vectors and return the corresponding documents.
With standalone vector search, you first use an embedding model to transform content into a vector representation within an embedding space. You can then provide these vectors in a document payload to the search index for indexing. To serve search requests, you use the same embedding model to transform the search query into a vector representation, and vector search finds the most similar vectors and return the corresponding documents.
In Azure AI Search, you can index vector data as fields in documents alongside textual and other types of content. There are [multiple data types](/rest/api/searchservice/supported-data-types#edm-data-types-for-vector-fields) for vector fields.
Expand All @@ -130,7 +130,7 @@ sections:
- question: |
Why do I see different vector index size limits between my new search services and existing search services?
answer: |
We're rolling out improved vector index size limits worldwide for new search services, but we're still building out infrastructure capacity in certain regions. New search services created in supported regions will see increased vector index size limits. Unfortunately, we can't migrate existing services to the new limits.
Azure AI Search rolled out improved vector index size limits worldwide for new search services, but [some regions experience capacity constraints](search-region-support.md), and some regions don't have the required infrastructure. New search services created in supported regions should see increased vector index size limits. Unfortunately, we can't migrate existing services to the new limits. Also, only vector indexes that use the Hierarchical Navigable Small World (HNSW) algorithm report on vector index size in the Azure portal. If your index uses exhaustive KNN, vector index size is reported as zero, even though the index contains vectors.
- question: |
How do I enable vector search on a search index?
Expand All @@ -141,7 +141,7 @@ sections:
* Add a "vectorSearch" section to the index schema specifying the configuration used by vector search fields, including the parameters of the Approximate Nearest Neighbor algorithm used, like HNSW.
* Use the latest stable version[**2024-07-01**](/rest/api/searchservice), or an Azure SDK to create or update the index, load documents, and issue queries.
* Use the latest stable version[**2024-07-01**](/rest/api/searchservice), or an Azure SDK to create or update the index, load documents, and issue queries. For more information, see [Create a vector index](vector-search-how-to-create-index.md).
- name: Queries
questions:
Expand Down
2 changes: 1 addition & 1 deletion articles/search/search-howto-concurrency.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: HeidiSteen
ms.author: heidist
ms.service: azure-ai-search
ms.topic: how-to
ms.date: 04/23/2024
ms.date: 01/16/2025
ms.custom:
- devx-track-csharp
- ignite-2023
Expand Down
8 changes: 3 additions & 5 deletions articles/search/search-howto-index-json-blobs.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ms.service: azure-ai-search
ms.custom:
- ignite-2023
ms.topic: how-to
ms.date: 06/25/2024
ms.date: 01/16/2025
---

# Index JSON blobs and files in Azure AI Search
Expand Down Expand Up @@ -39,7 +39,6 @@ Within the indexer definition, you can optionally set [field mappings](search-in
> [!NOTE]
> When a JSON parsing mode is used, Azure AI Search assumes that all blobs use the same parser (either for **`json`**, **`jsonArray`** or **`jsonLines`**). If you have a mix of different file types in the same data source, consider using [file extension filters](search-blob-storage-integration.md#controlling-which-blobs-are-indexed) to control which files are imported.

The following sections describe each mode in more detail. If you're unfamiliar with indexer clients and concepts, see [Create a search indexer](search-howto-create-indexers.md). You should also be familiar with the details of [basic blob indexer configuration](search-howto-indexing-azure-blob-storage.md), which isn't repeated here.

<a name="parsing-single-blobs"></a>
Expand Down Expand Up @@ -76,8 +75,7 @@ api-key: [admin key]
```

> [!NOTE]
> As with all indexers, if fields do not clearly match, you should expect to explicitly specify individual [field mappings](search-indexer-field-mappings.md) unless you are using the implicit fields mappings available for blob content and metadata, as described in [basic blob indexer configuration](search-howto-indexing-azure-blob-storage.md).
> As with all indexers, if fields don't clearly match, you should expect to explicitly specify individual [field mappings](search-indexer-field-mappings.md) unless you're using the implicit fields mappings available for blob content and metadata, as described in [basic blob indexer configuration](search-howto-indexing-azure-blob-storage.md).
### json example (single hotel JSON files)

Expand Down Expand Up @@ -208,7 +206,7 @@ You can also refer to individual array elements by using a zero-based index. For
```

> [!NOTE]
> If "sourceFieldName" refers to a property that doesn't exist in the JSON blob, that mapping is skipped without an error. This behavior allows indexing to continue for JSON blobs that have a different schema (which is a common use case). Because there is no validation check, check the mappings carefully for typos so that you aren't losing documents for the wrong reason.
> If "sourceFieldName" refers to a property that doesn't exist in the JSON blob, that mapping is skipped without an error. This behavior allows indexing to continue for JSON blobs that have a different schema (which is a common use case). Because there's no validation check, check the mappings carefully for typos so that you aren't losing documents for the wrong reason.
>
## Next steps
Expand Down
Loading

0 comments on commit 82aa35a

Please sign in to comment.