- Added support for Vector Search.
- Added support for Semantic Search.
- Added support for
PiiDetectionSkill
. It allows you extracts personal information from an input text and gives you the option of masking it using the Text Analytics API. - Added new languages for
OcrSkill
andImageAnalysisSkill
as we have upgraded them to use Cognitive Services Computer Vision v3.2, which now includes support for additional languages. Refer to the language lists here. - Added new languages for
SplitSkill
. Language lists can be found here. - Deprecated
SentimentSkill.SkillVersion.V1
andEntityRecognitionSkill.SkillVersion.V1
; useSentimentSkill.SkillVersion.V3
andEntityRecognitionSkill.SkillVersion.V3
instead.
- Added support for
VectorSearch.Vectorizers
, which contains configuration options for vectorizing text vector queries, andVectorSearch.Profiles
, which define combinations of configurations to use with vector search. - Added the
VectorSearchAlgorithmConfiguration
base type, containing configuration options specific to the algorithm used during indexing and/or querying. Derived classes includeExhaustiveKnnVectorSearchAlgorithmConfiguration
andHnswVectorSearchAlgorithmConfiguration
. - Added the
SearchOptions.VectorQueries
base type, which is used for the query parameters for vector and hybrid search queries. Derived classes includeVectorizableTextQuery
andRawVectorQuery
. WithRawVectorQuery
, users can pass raw vector values for vector search, whileVectorizableTextQuery
allows the passing of text values to be vectorized for vector search. - Added
SearchOptions.VectorFilterMode
, determining whether filters are applied before or after vector search is executed. - Added
SearchOptions.SemanticQuery
, which enables the setting of a dedicated search query for semantic reranking, semantic captions, and semantic answers. - Added support for
AzureOpenAIEmbeddingSkill
, which enables the generation of vector embeddings for given text inputs using the Azure Open AI service. - Added
SearchIndexStatistics.VectorIndexSize
, which reports the amount of memory consumed by vectors in the index. - Added
KnowledgeStore.Parameters
, which defines a dictionary of knowledge store-specific configuration properties. - Added
SearchIndexerSkillset.IndexProjections
, which specifies additional projections to secondary search indexes.
- In
SearchOptions
, theIList<SearchQueryVector> Vectors
property has been removed in favor of the abstract base typeIList<VectorQuery> VectorQueries
. - In
SearchField
, thevectorSearchConfiguration
property has been removed in favor of the newVectorSearchProfile
property. - In
VectorSearch
,AlgorithmConfigurations
has been renamed toAlgorithms
.
- Added the ability to perform multiple vectors query searches.
- Added support for vector queries over multiple fields.
- Added support for Vector Search.
- Fixed issue with
QueryCaptionsType.None
in semantic search, resolving an invalid response to the service (#37164).
- Added new languages for
OcrSkill
andImageAnalysisSkill
as we have upgraded them to use Cognitive Services Computer Vision v3.2 which supports a lot more languages for both APIs. Language lists can be found here.
- Fixed user-assigned identity type names (#29813).
- All features from the 11.4.x betas that weren't included in 11.4.0.
- Support for Azure Active Directory based authentication. Users can specify a
TokenCredential
when creating aSearchClient
,SearchIndexClient
or aSearchIndexerClient
. For example, you can get started withnew SearchClient(endpoint, new DefaultAzureCredential())
to authenticate via AAD using Azure.Identity. For more details see how to use role-based authentication in Azure Cognitive Search. - Added multi-cloud support via
SearchClientOptions.Audience
to allow users to select the Azure cloud where the resource is located (#30306).
- Enhanced the documentation of some
SearchOptions
properties by adding links to REST docs - #22808 - Fixed issue where
SearchOptions.SessionId
property was not passed to the service (#27549)
- Added Troubleshooting Guide.
- This GA release includes AAD with multi-cloud support and all the bug fixes since the last 11.3.0 GA release. Other preview features and breaking changes from the 11.4.0-beta.1 to 11.4.0-beta.9 releases are not included in this GA release.
- Added support for Lexical normalizers in
SimpleField
andSearchableField
. - Added multi-cloud support via
SearchClientOptions.Audience
to allow users to select the Azure cloud where the resource is located (#30306).
- Fixed issue where
SearchOptions.SessionId
property was not passed to the service (#27549)
- Added Troubleshooting Guide.
- Added support to create, update and delete aliases via the
SearchIndexClient
.
- Added
Unk
as anOcrSkillLanguage
value. The values are used to set the default language code for the OCR cognitive skill. - Support for
AzureMachineLearningSkill
. The AML skill allows you to extend AI enrichment with a custom Azure Machine Learning (AML) model. Once an AML model is trained and deployed, an AML skill integrates it into AI enrichment.
- Added support for Semantic Search.
SearchOptions
now support specifyingSemanticSettings
to influence the search behavior.
- Renamed
IndexerStateHighWaterMark
toIndexerChangeTrackingState
. - Renamed the property
HighWaterMark
toChangeTrackingState
inIndexerState
.
- Added APIs to reset documents and skills.
- Renamed
QueryAnswer
toQueryAnswerType
inSearchOptions
. - Renamed
QueryCaption
toQueryCaptionType
inSearchOptions
. - Renamed
QuerySpeller
toQuerySpellerType
inSearchOptions
. - Renamed
QueryCaptionHighlight
toQueryCaptionHighlightEnabled
inSearchOptions
.
- Support for Lexical normalizers in text analysers via
AnalyzeTextOptions
.
- Support for Azure Active Directory based authentication. Users can specify a
TokenCredential
when creating aSearchClient
,SearchIndexClient
or aSearchIndexerClient
. For example, you can get started withnew SearchClient(endpoint, new DefaultAzureCredential())
to authenticate via AAD using Azure.Identity. For more details see how to use role-based authentication in Azure Cognitive Search.
- Enhanced the documentation of some
SearchOptions
properties by adding links to REST docs - #22808
- Support for additional/enhanced skills - EntityLinkingSkill, EntityRecognitionSkill, PiiDetectionSkill, SentimentSkill
- Use managed identities in Azure Active Directory with SearchIndexerDataIdentity
- Adds stable features and bug fixes from the 11.3.0-beta.1 and 11.3.0-beta.2 releases. Preview service features not generally available yet, like Semantic Search and Normalizers, are not included in this GA release.
- Added support for Semantic Search.
- Added support for
Azure.Core.GeoJson
types inSearchDocument
,SearchFilter
andFieldBuilder
. - Added
EventSource
based logging. Event source name is Azure-Search-Documents. Current set of events are focused on tuning batch sizes forSearchIndexingBufferedSender
. - Added
CustomEntityLookupSkill
andDocumentExtractionSkill
. AddedDefaultCountryHint
inLanguageDetectionSkill
. - Added
LexicalNormalizer
to include predefined set of normalizers. See here for more details on search normalizers. AddedNormalizer
as aSearchField
in an index definition. - Added support for Azure Data Lake Storage Gen2 -
AdlsGen2
inSearchIndexerDataSourceType
.
- Added setters for
MaxLength
andMinLength
inLengthTokenFilter
. - Added a public constructor for
SearchIndexingBufferedSender<T>
. - Added
IndexActionEventArgs<T>
to track indexing actions. - Added
IndexActionCompletedEventArgs<T>
to track the completion of an indexing action. - Added
IndexActionFailedEventArgs<T>
to track the failure of an indexing action. - All changes from the 11.2.0-beta.2 and 11.2.0-beta.1 releases listed below.
- Renamed
SearchIndexingBufferedSenderOptions<T>.MaxRetries
toSearchIndexingBufferedSenderOptions<T>.MaxRetriesPerIndexAction
. - Renamed
SearchIndexingBufferedSenderOptions<T>.MaxRetryDelay
toSearchIndexingBufferedSenderOptions<T>.MaxThrottlingDelay
. - Renamed
SearchIndexingBufferedSenderOptions<T>.RetryDelay
toSearchIndexingBufferedSenderOptions<T>.ThrottlingDelay
. - Removed the helper method
SearchClient.CreateIndexingBufferedSender<T>()
. Instead, callers are expected to use the public constructor ofSearchIndexingBufferedSender<T>
.
- Added
EncryptionKey
toSearchIndexer
,SearchIndexerDataSourceConnection
, andSearchIndexerSkillset
. - Added configuration options to tune the performance of
SearchIndexingBufferedSender<T>
.
- Fixed issue calling
SearchIndexClient.GetIndexNames
that threw an exception (#15590) - Fixed issue where
ScoringProfile.FunctionAggregation
did not correctly handle null values (#16570) - Fixed overly permissive date parsing on facets (#16412)
- Add
SearchIndexingBufferedSender<T>
to make indexing lots of documents fast and easy. - Add support to
FieldBuilder
to define search fields forMicrosoft.Spatial
types without an explicit assembly dependency. - Add support to
SearchFilter
to encode geometric types fromMicrosoft.Spatial
without an explicit assembly dependency. - Add
IndexingParameters.IndexingParametersConfiguration
property to define well-known properties supported by Azure Cognitive Search.
- Support deserializing null values during deserialization of skills (#15108)
- Fixed issues preventing mocking clients or initializing all models.
- Bug in TaskExtensions.EnsureCompleted method that causes it to unconditionally throw an exception in the environments with synchronization context
- Added
SearchClientOptions.Serializer
to set whichObjectSerializer
to use for serialization. - Added
FieldBuilder
to easily createSearchIndex
fields from a model type.
- Removed
$select
from the query parameters logged by default. You can add it back viaSearchClientOptions.Diagnostics.LoggedQueryParameters("$select");
if desired.
- Changed version to 11.0.0.
- Removed preview version
SearchClientOptions.ServiceVersion.V2019_05_06_Preview
and added versionSearchClientOptions.ServiceVersion.V2020_06_30
.
- Removed
Azure.Core.Experimental
reference and features until they're moved intoAzure.Core
. - Removed
SearchServiceCounters.SkillsetCounter
. - Removed
new SearchOptions(string continuationToken)
overload.
- Referencing
Azure.Core.Experimental
which brings new spatial types and custom serializers. - Added
SearchClientBuilderExtensions
to integrate with ASP.NET Core. - Added
SearchModelFactory
to mock output model types.
- Made collection- and dictionary-type properties read-only, i.e. has only get-accessors, based on .NET Guidelines.
- Moved models for managing indexes, indexers, and skillsets to
Azure.Search.Documents.Indexes.Models
. - Removed the
SynonymMap.Format
property since only the "solr" format is supported currently. - Renamed
AnalyzeRequest
toAnalyzeTextOptions
, and overloaded constructors with required parameters. - Renamed
AnalyzeTextOptions.Analyzer
toAnalyzeTextOptions.AnalyzerName
. - Renamed
AnalyzeTextOptions.Tokenizer
toAnalyzeTextOptions.TokenizerName
. - Renamed
CustomAnalyzer.Tokenizer
toCustomAnalyzer.TokenizerName
. - Renamed
SearchIndexerDataSource
toSearchIndexerDataSourceConnection
. - Renamed
Autocompletion
toAutocompleteItem
. - Renamed methods on
SearchIndexerClient
matching "*DataSource" to "*DataSourceConnection". - Split
SearchServiceClient
intoSearchIndexClient
for managing indexes, andSearchIndexerClient
for managing indexers, both of which are now inAzure.Search.Documents.Indexes
. SearchClient.IndexDocuments
now throws anAggregateException
wrapping all theRequestFailedException
s in the batch.- Removed
dynamic
support fromSearchDocument
for the time being.
- Renamed
SearchIndexClient
toSearchClient
. - Removed constructor from
SynonymMap
withIEnumerable<string>
parameter. SearchServiceClient.GetIndexes
andSearchServiceClient.GetIndexesAsync
now returnPageable<SearchIndex>
andAsyncPageable<SearchIndex>
respectively.- Replaced
MatchConditions
parameters withbool onlyIfUnchanged
parameters that require a model with anETag
property. ETag
properties have been redefined fromstring
toAzure.ETag?
consistent with other packages.- Renamed
Analyzer
toLexicalAnalyzer
. - Renamed
AnalyzerName
toLexicalAnalyzerName
. - Removed
AzureActiveDirectoryApplicationCredentials
and moved itsApplicationId
andApplicationSecret
properties toSearchResourceEncryptionKey
. - Renamed
DataContainer
toSearchIndexerDataContainer
. - Renamed
DataSource
toSearchIndexerDataSource
. - Removed
DataSourceCredentials
and moved itsConnectionString
property toSearchIndexerDataSource
. - Renamed
DataSourceType
toSearchIndexerDataSourceType
. - Renamed
DataType
toSearchFieldDataType
. - Renamed
EncryptionKey
toSearchResourceEncryptionKey
. - Renamed
EncryptionKey.KeyVaultUri
toSearchResourceEncryptionKey.VaultUri
. - Renamed
EncryptionKey.KeyVaultKeyName
toSearchResourceEncryptionKey.KeyName
. - Renamed
EncryptionKey.KeyVaultKeyVersion
toSearchResourceEncryptionKey.KeyVersion
. - Renamed
Field
toSearchField
. - Renamed
FieldBase
toSearchFieldTemplate
. - Renamed
Index
toSearchIndex
. - Renamed
Indexer
toSearchIndexer
. - Renamed
IndexerExecutionInfo
toSearchIndexerStatus
. - Renamed
IndexerLimits
toSearchIndexerLimits
. - Renamed
ItemError
toSearchIndexerError
. - Renamed
ItemWarning
toSearchIndexerWarning
. - Renamed
LengthTokenFilter.Min
toLengthTokenFilter.MinLength
. - Renamed
LengthTokenFilter.Max
toLengthTokenFilter.MaxLength
. - Renamed
RegexFlags
toRegexFlag
following .NET naming guidelines. - Renamed
Skill
toSearchIndexerSkill
. - Renamed
Skillset
toSearchIndexerSkillset
. - Renamed
StandardAnalyzer
toLuceneStandardAnalyzer
. - Renamed
StandardTokenizer
toLuceneStandardTokenizer
. - Renamed
StandardTokenizerV2
toLuceneStandardTokenizerV2
. - Renamed
TokenInfo
toAnalyzedTokenInfo
. - Renamed
Tokenizer
toLexicalTokenizer
. - Renamed
TokenizerName
toLexicalTokenizerName
.
- Added models and methods to
SearchServiceClient
to create and manage indexes. - Added support for continuation tokens to resume server-side paging.
- Renamed to Azure.Search.Documents (assembly, namespace, and package)
- Replaced SearchApiKeyCredential with AzureKeyCredential
- Renamed
SearchServiceClient.GetStatistics
andSearchServiceClient.GetStatisticsAsync
toSearchServiceClient.GetServiceStatistics
andSearchServiceClient.GetServiceStatisticsAsync
- Initial preview of the Azure.Search client library enabling you to query and update documents in search indexes.