- 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.