From 70f686a9ff85d5332aa5d5242233a79fe5a6be3a Mon Sep 17 00:00:00 2001
From: alzimmermsft <48699787+alzimmermsft@users.noreply.github.com>
Date: Fri, 16 Jan 2026 15:41:05 -0500
Subject: [PATCH 1/6] Initial regeneration using TypeSpec
---
.../customizations/pom.xml | 21 +
.../src/main/java/SearchCustomizations.java | 15 +
.../search/documents/SearchAsyncClient.java | 3158 ++++----
.../azure/search/documents/SearchClient.java | 2761 ++++---
.../search/documents/SearchClientBuilder.java | 1007 +--
.../search/documents/SearchDocument.java | 30 -
.../azure/search/documents/SearchFilter.java | 147 -
.../SearchIndexingBufferedAsyncSender.java | 259 -
.../SearchIndexingBufferedSender.java | 339 -
.../documents/SearchServiceVersion.java | 29 +-
.../implementation/DocumentsImpl.java | 944 ---
.../KnowledgeBaseRetrievalClientImpl.java | 419 ++
.../implementation/SearchClientImpl.java | 2396 ++++++
.../implementation/SearchIndexClientImpl.java | 6507 ++++++++++++++++-
.../SearchIndexerClientImpl.java | 4803 ++++++++++++
.../batching/IndexBatchResponse.java | 42 -
.../batching/IndexingDocumentManager.java | 187 -
.../batching/SearchBatchingUtils.java | 91 -
.../SearchIndexingAsyncPublisher.java | 314 -
.../batching/SearchIndexingPublisher.java | 360 -
.../batching/TryTrackingIndexAction.java | 37 -
.../implementation/batching/package-info.java | 7 -
.../converters/AnalyzeRequestConverter.java | 30 -
.../converters/IndexActionConverter.java | 72 -
.../converters/IndexActionHelper.java | 44 -
.../converters/SearchResultConverter.java | 37 -
.../converters/SearchResultHelper.java | 69 -
.../converters/SuggestResultConverter.java | 33 -
.../converters/SuggestResultHelper.java | 44 -
.../converters/package-info.java | 7 -
.../models/AutocompleteMode.java | 68 +
.../models/AutocompletePostOptions.java} | 223 +-
...uest.java => AutocompletePostRequest.java} | 119 +-
.../models/AutocompleteResult.java | 31 +-
.../models/ErrorAdditionalInfo.java | 99 -
.../implementation/models/ErrorDetail.java | 157 -
.../implementation/models/ErrorResponse.java | 97 -
.../models/ErrorResponseException.java | 44 -
.../implementation/models/IndexAction.java | 155 -
.../models/IndexDocumentsResult.java | 27 +-
.../implementation/models/RequestOptions.java | 52 -
.../models/SearchContinuationToken.java | 105 -
.../implementation/models/SearchError.java | 141 -
.../SearchFirstPageResponseWrapper.java | 33 -
...rchOptions.java => SearchPostOptions.java} | 873 ++-
...rchRequest.java => SearchPostRequest.java} | 462 +-
.../implementation/models/SearchResult.java | 247 -
.../implementation/models/Speller.java | 54 -
.../models/SuggestDocumentsResult.java | 29 +-
.../models/SuggestPostOptions.java | 354 +
...stRequest.java => SuggestPostRequest.java} | 156 +-
.../implementation/models/SuggestResult.java | 134 -
.../implementation/models/package-info.java | 9 +-
.../implementation/package-info.java | 9 +-
.../implementation/util/Constants.java | 38 -
.../implementation/util/FieldBuilder.java | 466 --
.../implementation/util/MappingUtils.java | 253 -
.../SemanticSearchResultsAccessHelper.java | 48 -
.../implementation/util/SpatialFormatter.java | 126 -
.../implementation/util/Utility.java | 238 -
.../implementation/util/package-info.java | 7 -
.../documents/indexes/FieldBuilderIgnore.java | 23 -
.../indexes/SearchIndexAsyncClient.java | 4673 ++++++++----
.../documents/indexes/SearchIndexClient.java | 4624 ++++++++----
.../indexes/SearchIndexClientBuilder.java | 645 +-
.../indexes/SearchIndexerAsyncClient.java | 4261 ++++++-----
.../indexes/SearchIndexerClient.java | 4104 +++++++----
.../indexes/SearchIndexerClientBuilder.java | 633 +-
.../indexes/SearchIndexerDataSources.java | 268 -
.../documents/indexes/SearchableField.java | 153 -
.../search/documents/indexes/SimpleField.java | 79 -
.../indexes/implementation/AliasesImpl.java | 826 ---
.../implementation/DataSourcesImpl.java | 815 ---
.../indexes/implementation/IndexersImpl.java | 1465 ----
.../indexes/implementation/IndexesImpl.java | 1145 ---
.../implementation/KnowledgeBasesImpl.java | 817 ---
.../implementation/KnowledgeSourcesImpl.java | 951 ---
.../SearchServiceClientImpl.java | 570 --
.../indexes/implementation/SkillsetsImpl.java | 945 ---
.../implementation/SynonymMapsImpl.java | 774 --
.../implementation/models/AnalyzeRequest.java | 277 -
.../models/EdgeNGramTokenFilterV1.java | 199 -
.../models/EntityRecognitionSkillV1.java | 311 -
.../models/ErrorAdditionalInfo.java | 99 -
.../implementation/models/ErrorDetail.java | 157 -
.../implementation/models/ErrorResponse.java | 97 -
.../models/ErrorResponseException.java | 44 -
.../models/KeywordTokenizerV1.java | 131 -
.../models/ListAliasesResult.java | 91 -
.../models/ListDataSourcesResult.java | 25 +-
.../models/ListIndexStatsSummary.java | 92 -
.../models/ListIndexersResult.java | 24 +-
.../models/ListIndexesResult.java | 91 -
.../models/ListKnowledgeBasesResult.java | 92 -
.../models/ListKnowledgeSourcesResult.java | 92 -
.../models/ListSkillsetsResult.java | 25 +-
.../models/ListSynonymMapsResult.java | 24 +-
.../models/LuceneStandardTokenizerV1.java | 133 -
.../models/NGramTokenFilterV1.java | 164 -
.../implementation/models/RequestOptions.java | 52 -
.../models/SentimentSkillV1.java | 198 -
.../implementation/models/package-info.java | 6 +-
.../indexes/implementation/package-info.java | 12 -
.../models/AIFoundryModelCatalogName.java | 20 +-
.../models/AIServicesAccountIdentity.java | 26 +-
.../indexes/models/AIServicesAccountKey.java | 35 +-
.../models/AIServicesVisionParameters.java | 32 +-
.../models/AIServicesVisionVectorizer.java | 49 +-
.../models/AnalyzeResult.java | 14 +-
.../indexes/models/AnalyzeTextOptions.java | 245 +-
.../indexes/models/AnalyzedTokenInfo.java | 65 +-
.../models/AsciiFoldingTokenFilter.java | 21 +-
...ActiveDirectoryApplicationCredentials.java | 39 +-
.../models/AzureBlobKnowledgeSource.java | 36 +-
.../AzureBlobKnowledgeSourceParameters.java | 72 +-
.../AzureMachineLearningParameters.java | 25 +-
.../models/AzureMachineLearningSkill.java | 51 +-
.../AzureMachineLearningVectorizer.java | 23 +-
.../models/AzureOpenAIEmbeddingSkill.java | 121 +-
.../indexes/models/AzureOpenAIModelName.java | 42 +-
.../AzureOpenAITokenizerParameters.java | 6 +-
.../indexes/models/AzureOpenAIVectorizer.java | 21 +-
.../AzureOpenAIVectorizerParameters.java | 6 +-
.../models/BM25SimilarityAlgorithm.java | 8 +-
.../models/BinaryQuantizationCompression.java | 55 +-
.../models/BlobIndexerDataToExtract.java | 4 +-
.../models/BlobIndexerImageAction.java | 4 +-
... BlobIndexerPDFTextRotationAlgorithm.java} | 32 +-
.../models/BlobIndexerParsingMode.java | 4 +-
.../documents/indexes/models/CharFilter.java | 19 +-
.../indexes/models/CharFilterName.java | 4 +-
... ChatCompletionCommonModelParameters.java} | 103 +-
...ChatCompletionExtraParametersBehavior.java | 6 +-
.../models/ChatCompletionResponseFormat.java | 42 +-
.../ChatCompletionResponseFormatType.java | 13 +-
.../indexes/models/ChatCompletionSchema.java | 4 +-
...va => ChatCompletionSchemaProperties.java} | 65 +-
.../indexes/models/ChatCompletionSkill.java | 437 +-
.../indexes/models/CjkBigramTokenFilter.java | 55 +-
.../models/CjkBigramTokenFilterScripts.java | 63 +-
.../models/ClassicSimilarityAlgorithm.java | 8 +-
.../indexes/models/ClassicTokenizer.java | 21 +-
.../models/CognitiveServicesAccount.java | 9 +-
.../models/CognitiveServicesAccountKey.java | 48 +-
.../indexes/models/CommonGramTokenFilter.java | 83 +-
.../indexes/models/ConditionalSkill.java | 37 +-
.../models/ContentUnderstandingSkill.java | 47 +-
...tUnderstandingSkillChunkingProperties.java | 4 +-
...ContentUnderstandingSkillChunkingUnit.java | 4 +-
...ntUnderstandingSkillExtractionOptions.java | 4 +-
.../documents/indexes/models/CorsOptions.java | 15 +-
...teOrUpdateDataSourceConnectionOptions.java | 89 -
.../models/CreateOrUpdateIndexerOptions.java | 109 -
.../models/CreateOrUpdateSkillsetOptions.java | 109 -
.../indexes/models/CreatedResources.java | 91 +
.../indexes/models/CustomAnalyzer.java | 81 +-
.../indexes/models/CustomEntity.java | 37 +-
.../indexes/models/CustomEntityAlias.java | 19 +-
.../models/CustomEntityLookupSkill.java | 96 +-
.../CustomEntityLookupSkillLanguage.java | 4 +-
.../indexes/models/CustomNormalizer.java | 23 +-
.../models/DataChangeDetectionPolicy.java | 8 +-
.../models/DataDeletionDetectionPolicy.java | 8 +-
.../models/DataSourceCredentials.java | 6 +-
.../DefaultCognitiveServicesAccount.java | 9 +-
.../DictionaryDecompounderTokenFilter.java | 67 +-
.../models/DistanceScoringFunction.java | 43 +-
.../models/DistanceScoringParameters.java | 24 +-
.../models/DocumentExtractionSkill.java | 60 +-
.../DocumentIntelligenceLayoutSkill.java | 57 +-
...lligenceLayoutSkillChunkingProperties.java | 4 +-
...ntIntelligenceLayoutSkillChunkingUnit.java | 4 +-
...elligenceLayoutSkillExtractionOptions.java | 4 +-
...ligenceLayoutSkillMarkdownHeaderDepth.java | 4 +-
...ntIntelligenceLayoutSkillOutputFormat.java | 4 +-
...mentIntelligenceLayoutSkillOutputMode.java | 4 +-
.../models/DocumentKeysOrIds.java | 8 +-
.../indexes/models/EdgeNGramTokenFilter.java | 180 +-
.../models/EdgeNGramTokenFilterSide.java | 57 +-
.../models/EdgeNGramTokenFilterV2.java | 31 +-
.../indexes/models/EdgeNGramTokenizer.java | 59 +-
.../indexes/models/ElisionTokenFilter.java | 47 +-
.../indexes/models/EntityCategory.java | 4 +-
.../indexes/models/EntityLinkingSkill.java | 45 +-
.../models/EntityRecognitionSkill.java | 329 +-
.../EntityRecognitionSkillLanguage.java | 4 +-
.../models/EntityRecognitionSkillV3.java | 52 +-
.../models/EntityRecognitionSkillVersion.java | 63 -
.../ExhaustiveKnnAlgorithmConfiguration.java | 23 +-
.../models/ExhaustiveKnnParameters.java | 4 +-
.../indexes/models/FieldBuilderOptions.java | 57 -
.../indexes/models/FieldMapping.java | 17 +-
.../indexes/models/FieldMappingFunction.java | 30 +-
.../models/FreshnessScoringFunction.java | 43 +-
.../models/FreshnessScoringParameters.java | 11 +-
...ics.java => GetIndexStatisticsResult.java} | 66 +-
.../HighWaterMarkChangeDetectionPolicy.java | 21 +-
.../models/HnswAlgorithmConfiguration.java | 22 +-
.../indexes/models/HnswParameters.java | 4 +-
.../indexes/models/ImageAnalysisSkill.java | 87 +-
.../models/ImageAnalysisSkillLanguage.java | 4 +-
.../documents/indexes/models/ImageDetail.java | 4 +-
.../indexes/models/IndexDocumentsBatch.java | 104 -
.../indexes/models/IndexProjectionMode.java | 4 +-
.../models/IndexStatisticsSummary.java | 51 +-
.../models/IndexedOneLakeKnowledgeSource.java | 40 +-
...dexedOneLakeKnowledgeSourceParameters.java | 44 +-
.../IndexedSharePointContainerName.java | 6 +-
.../IndexedSharePointKnowledgeSource.java | 40 +-
...edSharePointKnowledgeSourceParameters.java | 44 +-
.../indexes/models/IndexerCurrentState.java | 78 +-
.../models/IndexerExecutionEnvironment.java | 4 +-
.../models/IndexerExecutionResult.java | 112 +-
.../models/IndexerExecutionStatus.java | 63 +-
.../models/IndexerExecutionStatusDetail.java | 4 +-
.../models/IndexerPermissionOption.java | 4 +-
.../indexes/models/IndexerResyncBody.java | 6 +-
.../indexes/models/IndexerResyncOption.java | 4 +-
.../indexes/models/IndexerRuntime.java | 52 +-
.../indexes/models/IndexerStatus.java | 60 +-
.../indexes/models/IndexingMode.java | 4 +-
.../indexes/models/IndexingParameters.java | 58 +-
.../IndexingParametersConfiguration.java | 33 +-
.../indexes/models/IndexingSchedule.java | 15 +-
.../models/InputFieldMappingEntry.java | 53 +-
.../indexes/models/KeepTokenFilter.java | 50 +-
.../models/KeyPhraseExtractionSkill.java | 47 +-
.../KeyPhraseExtractionSkillLanguage.java | 4 +-
.../models/KeywordMarkerTokenFilter.java | 63 +-
.../indexes/models/KeywordTokenizer.java | 135 +-
.../models/KeywordTokenizerV2.java | 24 +-
.../indexes/models/KnowledgeBase.java | 107 +-
.../models/KnowledgeBaseAzureOpenAIModel.java | 25 +-
.../indexes/models/KnowledgeBaseModel.java | 8 +-
.../models/KnowledgeBaseModelKind.java | 4 +-
.../indexes/models/KnowledgeSource.java | 45 +-
.../KnowledgeSourceContentExtractionMode.java | 4 +-
...wledgeSourceIngestionPermissionOption.java | 6 +-
.../indexes/models/KnowledgeSourceKind.java | 24 +-
.../models/KnowledgeSourceReference.java | 13 +-
.../KnowledgeSourceSynchronizationStatus.java | 4 +-
.../models/LanguageDetectionSkill.java | 43 +-
.../indexes/models/LengthTokenFilter.java | 23 +-
.../indexes/models/LexicalAnalyzer.java | 19 +-
.../indexes/models/LexicalAnalyzerName.java | 6 +-
.../indexes/models/LexicalNormalizer.java | 29 +-
.../indexes/models/LexicalNormalizerName.java | 4 +-
.../indexes/models/LexicalTokenizer.java | 35 +-
.../indexes/models/LexicalTokenizerName.java | 4 +-
.../indexes/models/LimitTokenFilter.java | 65 +-
.../models/LuceneStandardAnalyzer.java | 53 +-
.../models/LuceneStandardTokenizer.java | 125 +-
.../models/LuceneStandardTokenizerV2.java | 24 +-
.../models/MagnitudeScoringFunction.java | 43 +-
.../models/MagnitudeScoringParameters.java | 48 +-
.../indexes/models/MappingCharFilter.java | 31 +-
.../indexes/models/MarkdownHeaderDepth.java | 4 +-
.../models/MarkdownParsingSubmode.java | 4 +-
.../documents/indexes/models/MergeSkill.java | 43 +-
.../MicrosoftLanguageStemmingTokenizer.java | 71 +-
.../models/MicrosoftLanguageTokenizer.java | 28 +-
.../MicrosoftStemmingTokenizerLanguage.java | 190 +-
.../models/MicrosoftTokenizerLanguage.java | 181 +-
.../indexes/models/NGramTokenFilter.java | 146 +-
.../models/NGramTokenFilterV2.java | 26 +-
.../indexes/models/NGramTokenizer.java | 59 +-
...BlobSoftDeleteDeletionDetectionPolicy.java | 8 +-
.../indexes/models/OcrLineEnding.java | 4 +-
.../documents/indexes/models/OcrSkill.java | 76 +-
.../indexes/models/OcrSkillLanguage.java | 4 +-
.../models/OutputFieldMappingEntry.java | 15 +-
...ctionSkill.java => PIIDetectionSkill.java} | 109 +-
...java => PIIDetectionSkillMaskingMode.java} | 30 +-
...zer.java => PathHierarchyTokenizerV2.java} | 108 +-
.../indexes/models/PatternAnalyzer.java | 122 +-
.../models/PatternCaptureTokenFilter.java | 35 +-
.../models/PatternReplaceCharFilter.java | 41 +-
.../models/PatternReplaceTokenFilter.java | 41 +-
.../indexes/models/PatternTokenizer.java | 103 +-
.../indexes/models/PermissionFilter.java | 4 +-
.../indexes/models/PhoneticEncoder.java | 84 +-
.../indexes/models/PhoneticTokenFilter.java | 69 +-
.../indexes/models/RankingOrder.java | 4 +-
.../documents/indexes/models/RegexFlags.java | 7 +-
.../RemoteSharePointKnowledgeSource.java | 31 +-
...teSharePointKnowledgeSourceParameters.java | 19 +-
.../indexes/models/RescoringOptions.java | 26 +-
.../indexes/models/ResourceCounter.java | 33 +-
.../models/ScalarQuantizationCompression.java | 59 +-
.../models/ScalarQuantizationParameters.java | 4 +-
.../indexes/models/ScoringFunction.java | 36 +-
.../models/ScoringFunctionAggregation.java | 69 +-
.../models/ScoringFunctionInterpolation.java | 63 +-
.../indexes/models/ScoringProfile.java | 53 +-
.../documents/indexes/models/SearchAlias.java | 27 +-
.../documents/indexes/models/SearchField.java | 230 +-
.../indexes/models/SearchFieldDataType.java | 22 +-
.../documents/indexes/models/SearchIndex.java | 252 +-
.../models/SearchIndexFieldReference.java | 17 +-
.../models/SearchIndexKnowledgeSource.java | 36 +-
.../SearchIndexKnowledgeSourceParameters.java | 23 +-
.../SearchIndexPermissionFilterOption.java | 8 +-
.../indexes/models/SearchIndexer.java | 177 +-
.../indexes/models/SearchIndexerCache.java | 6 +-
.../models/SearchIndexerDataContainer.java | 16 +-
.../models/SearchIndexerDataIdentity.java | 4 +-
.../models/SearchIndexerDataNoneIdentity.java | 4 +-
.../SearchIndexerDataSourceConnection.java | 183 +-
.../models/SearchIndexerDataSourceType.java | 4 +-
...SearchIndexerDataUserAssignedIdentity.java | 17 +-
.../indexes/models/SearchIndexerError.java | 59 +-
.../models/SearchIndexerIndexProjection.java | 17 +-
.../SearchIndexerIndexProjectionSelector.java | 35 +-
...archIndexerIndexProjectionsParameters.java | 26 +-
.../models/SearchIndexerKnowledgeStore.java | 31 +-
...rKnowledgeStoreBlobProjectionSelector.java | 62 +-
...rKnowledgeStoreFileProjectionSelector.java | 25 +-
...nowledgeStoreObjectProjectionSelector.java | 25 +-
...SearchIndexerKnowledgeStoreParameters.java | 25 +-
...SearchIndexerKnowledgeStoreProjection.java | 4 +-
...dexerKnowledgeStoreProjectionSelector.java | 66 +-
...KnowledgeStoreTableProjectionSelector.java | 62 +-
.../indexes/models/SearchIndexerLimits.java | 8 +-
.../indexes/models/SearchIndexerSkill.java | 63 +-
.../indexes/models/SearchIndexerSkillset.java | 111 +-
.../indexes/models/SearchIndexerStatus.java | 84 +-
.../indexes/models/SearchIndexerWarning.java | 41 +-
.../models/SearchResourceEncryptionKey.java | 151 +-
.../indexes/models/SearchServiceCounters.java | 126 +-
.../indexes/models/SearchServiceLimits.java | 93 +-
.../models/SearchServiceStatistics.java | 76 +-
.../indexes/models/SearchSuggester.java | 51 +-
.../indexes/models/SemanticConfiguration.java | 32 +-
.../indexes/models/SemanticField.java | 15 +-
.../models/SemanticPrioritizedFields.java | 51 +-
.../indexes/models/SemanticSearch.java | 4 +-
.../indexes/models/SentimentSkill.java | 253 +-
.../models/SentimentSkillLanguage.java | 4 +-
.../models/SentimentSkillV3.java | 50 +-
.../indexes/models/SentimentSkillVersion.java | 63 -
.../models/ServiceIndexersRuntime.java | 56 +-
.../documents/indexes/models/ShaperSkill.java | 37 +-
.../indexes/models/ShingleTokenFilter.java | 69 +-
.../indexes/models/SimilarityAlgorithm.java | 8 +-
.../models/SkillNames.java | 8 +-
.../indexes/models/SnowballTokenFilter.java | 32 +-
.../models/SnowballTokenFilterLanguage.java | 119 +-
...ftDeleteColumnDeletionDetectionPolicy.java | 8 +-
.../documents/indexes/models/SplitSkill.java | 53 +-
.../models/SplitSkillEncoderModelName.java | 20 +-
.../indexes/models/SplitSkillLanguage.java | 4 +-
.../indexes/models/SplitSkillUnit.java | 4 +-
.../SqlIntegratedChangeTrackingPolicy.java | 8 +-
.../models/StemmerOverrideTokenFilter.java | 36 +-
.../indexes/models/StemmerTokenFilter.java | 35 +-
.../models/StemmerTokenFilterLanguage.java | 221 +-
.../indexes/models/StopAnalyzer.java | 47 +-
.../indexes/models/StopwordsList.java | 146 +-
.../indexes/models/StopwordsTokenFilter.java | 121 +-
.../documents/indexes/models/SynonymMap.java | 126 +-
.../indexes/models/SynonymTokenFilter.java | 80 +-
.../indexes/models/TagScoringFunction.java | 42 +-
.../indexes/models/TagScoringParameters.java | 11 +-
.../indexes/models/TextSplitMode.java | 4 +-
.../indexes/models/TextTranslationSkill.java | 50 +-
.../models/TextTranslationSkillLanguage.java | 4 +-
.../documents/indexes/models/TextWeights.java | 11 +-
.../indexes/models/TokenCharacterKind.java | 66 +-
.../documents/indexes/models/TokenFilter.java | 31 +-
.../indexes/models/TokenFilterName.java | 10 +-
.../indexes/models/TruncateTokenFilter.java | 21 +-
.../indexes/models/UaxUrlEmailTokenizer.java | 21 +-
.../indexes/models/UniqueTokenFilter.java | 21 +-
.../indexes/models/VectorEncodingFormat.java | 4 +-
.../indexes/models/VectorSearch.java | 73 +-
.../VectorSearchAlgorithmConfiguration.java | 21 +-
.../models/VectorSearchAlgorithmKind.java | 4 +-
.../models/VectorSearchAlgorithmMetric.java | 4 +-
.../models/VectorSearchCompression.java | 119 +-
.../models/VectorSearchCompressionKind.java | 4 +-
...SearchCompressionRescoreStorageMethod.java | 4 +-
.../models/VectorSearchCompressionTarget.java | 6 +-
.../indexes/models/VectorSearchProfile.java | 32 +-
.../models/VectorSearchVectorizer.java | 19 +-
.../models/VectorSearchVectorizerKind.java | 4 +-
.../indexes/models/VisionVectorizeSkill.java | 44 +-
.../indexes/models/VisualFeature.java | 4 +-
.../indexes/models/WebApiHttpHeaders.java | 100 +
.../documents/indexes/models/WebApiSkill.java | 99 +-
.../indexes/models/WebApiVectorizer.java | 21 +-
.../models/WebApiVectorizerParameters.java | 4 +-
.../indexes/models/WebKnowledgeSource.java | 23 +-
.../models/WebKnowledgeSourceDomain.java | 15 +-
.../models/WebKnowledgeSourceDomains.java | 8 +-
.../models/WebKnowledgeSourceParameters.java | 4 +-
.../models/WordDelimiterTokenFilter.java | 159 +-
.../indexes/models/package-info.java | 6 +-
.../documents/indexes/package-info.java | 468 +-
.../KnowledgeBaseRetrievalAsyncClient.java | 217 +
.../KnowledgeBaseRetrievalClient.java | 214 +
.../KnowledgeBaseRetrievalClientBuilder.java | 356 +
.../models/AIServices.java | 19 +-
.../AzureBlobKnowledgeSourceParams.java | 34 +-
.../models/CompletedSynchronizationState.java | 47 +-
.../IndexedOneLakeKnowledgeSourceParams.java | 35 +-
...ndexedSharePointKnowledgeSourceParams.java | 36 +-
.../models/KnowledgeBaseActivityRecord.java | 63 +-
.../KnowledgeBaseActivityRecordType.java | 99 +
...dgeBaseAgenticReasoningActivityRecord.java | 95 +-
.../KnowledgeBaseAzureBlobReference.java | 99 +-
.../KnowledgeBaseErrorAdditionalInfo.java | 18 +-
.../models/KnowledgeBaseErrorDetail.java | 8 +-
.../models/KnowledgeBaseImageContent.java} | 32 +-
.../KnowledgeBaseIndexedOneLakeReference.java | 101 +-
...owledgeBaseIndexedSharePointReference.java | 101 +-
.../models/KnowledgeBaseMessage.java | 21 +-
.../models/KnowledgeBaseMessageContent.java | 6 +-
.../KnowledgeBaseMessageContentType.java | 6 +-
.../KnowledgeBaseMessageImageContent.java | 35 +-
.../KnowledgeBaseMessageTextContent.java | 23 +-
...aseModelAnswerSynthesisActivityRecord.java | 89 +-
...eBaseModelQueryPlanningActivityRecord.java | 89 +-
.../models/KnowledgeBaseReference.java | 82 +-
.../models/KnowledgeBaseReferenceType.java | 81 +
...nowledgeBaseRemoteSharePointReference.java | 122 +-
.../models/KnowledgeBaseRetrievalRequest.java | 12 +-
.../KnowledgeBaseRetrievalResponse.java | 52 +-
.../KnowledgeBaseSearchIndexReference.java | 99 +-
.../models/KnowledgeBaseWebReference.java | 115 +-
.../models/KnowledgeRetrievalIntent.java | 6 +-
.../models/KnowledgeRetrievalIntentType.java | 6 +-
.../KnowledgeRetrievalLowReasoningEffort.java | 6 +-
...owledgeRetrievalMediumReasoningEffort.java | 6 +-
...wledgeRetrievalMinimalReasoningEffort.java | 6 +-
.../models/KnowledgeRetrievalOutputMode.java | 6 +-
.../KnowledgeRetrievalReasoningEffort.java | 8 +-
...KnowledgeRetrievalReasoningEffortKind.java | 6 +-
.../KnowledgeRetrievalSemanticIntent.java | 21 +-
.../KnowledgeSourceAzureOpenAIVectorizer.java | 8 +-
.../KnowledgeSourceIngestionParameters.java | 11 +-
.../models/KnowledgeSourceParams.java | 39 +-
.../models/KnowledgeSourceStatistics.java | 48 +-
.../models/KnowledgeSourceStatus.java | 31 +-
.../models/KnowledgeSourceVectorizer.java | 9 +-
...RemoteSharePointKnowledgeSourceParams.java | 39 +-
.../SearchIndexKnowledgeSourceParams.java | 38 +-
.../SharePointSensitivityLabelInfo.java | 84 +-
.../models/SynchronizationState.java | 36 +-
.../models/WebKnowledgeSourceParams.java | 42 +-
.../knowledgebase/models/package-info.java | 10 +
.../documents/knowledgebase/package-info.java | 10 +
.../SearchKnowledgeBaseAsyncClient.java | 149 -
.../SearchKnowledgeBaseClient.java | 135 -
.../SearchKnowledgeBaseClientBuilder.java | 247 -
.../KnowledgeBaseRetrievalClientImpl.java | 147 -
.../KnowledgeRetrievalsImpl.java | 218 -
.../models/ErrorAdditionalInfo.java | 99 -
.../implementation/models/ErrorDetail.java | 157 -
.../implementation/models/ErrorResponse.java | 97 -
.../models/ErrorResponseException.java | 44 -
.../implementation/models/RequestOptions.java | 52 -
.../implementation/models/package-info.java | 11 -
.../implementation/package-info.java | 11 -
...owledgeBaseAzureBlobActivityArguments.java | 96 -
.../KnowledgeBaseAzureBlobActivityRecord.java | 212 -
...geBaseIndexedOneLakeActivityArguments.java | 96 -
...ledgeBaseIndexedOneLakeActivityRecord.java | 212 -
...aseIndexedSharePointActivityArguments.java | 96 -
...geBaseIndexedSharePointActivityRecord.java | 213 -
...BaseRemoteSharePointActivityArguments.java | 128 -
...dgeBaseRemoteSharePointActivityRecord.java | 213 -
.../KnowledgeBaseRetrievalActivityRecord.java | 270 -
...ledgeBaseSearchIndexActivityArguments.java | 228 -
...nowledgeBaseSearchIndexActivityRecord.java | 212 -
.../KnowledgeBaseWebActivityArguments.java | 219 -
.../KnowledgeBaseWebActivityRecord.java | 211 -
.../KnowledgeRetrievalLowReasoningEffort.java | 84 -
...owledgeRetrievalMediumReasoningEffort.java | 84 -
...wledgeRetrievalMinimalReasoningEffort.java | 84 -
.../models/KnowledgeRetrievalOutputMode.java | 59 -
.../KnowledgeRetrievalReasoningEffort.java | 115 -
...KnowledgeRetrievalReasoningEffortKind.java | 66 -
.../models/KnowledgeSourceKind.java | 83 -
.../models/SearchIndexFieldReference.java | 90 -
.../knowledgebases/models/package-info.java | 11 -
.../knowledgebases/package-info.java | 8 -
.../documents/models/AutocompleteItem.java | 41 +-
.../documents/models/AutocompleteMode.java | 68 -
.../search/documents/models/DebugInfo.java | 4 +-
.../documents/models/DocumentDebugInfo.java | 6 +-
.../search/documents/models/FacetResult.java | 25 +-
.../documents/models/GetDocumentOptions.java | 123 -
.../models/HybridCountAndFacetMode.java | 4 +-
.../search/documents/models/HybridSearch.java | 4 +-
.../search/documents/models/IndexAction.java | 158 +-
.../documents/models/IndexActionType.java | 63 +-
.../documents/models/IndexBatchBase.java | 38 -
.../documents/models/IndexBatchException.java | 116 -
.../IndexDocumentsBatch.java} | 29 +-
.../models/IndexDocumentsOptions.java | 44 -
.../documents/models/IndexingResult.java | 85 +-
.../documents/models/LookupDocument.java | 95 +
.../search/documents/models/QueryAnswer.java | 118 -
.../documents/models/QueryAnswerResult.java | 54 +-
.../documents/models/QueryAnswerType.java | 4 +-
.../search/documents/models/QueryCaption.java | 72 -
.../documents/models/QueryCaptionResult.java | 42 +-
.../documents/models/QueryCaptionType.java | 4 +-
.../documents/models/QueryDebugMode.java | 4 +-
.../documents/models/QueryLanguage.java | 4 +-
.../models/QueryResultDocumentInnerHit.java | 6 +-
.../QueryResultDocumentRerankerInput.java | 6 +-
.../QueryResultDocumentSemanticField.java | 6 +-
.../models/QueryResultDocumentSubscores.java | 10 +-
.../documents/models/QueryRewrites.java | 121 -
.../models/QueryRewritesDebugInfo.java | 6 +-
.../documents/models/QueryRewritesType.java | 4 +-
.../models/QueryRewritesValuesDebugInfo.java | 6 +-
.../documents/models/QuerySpellerType.java | 4 +-
.../search/documents/models/QueryType.java | 60 +-
.../documents/models/RangeFacetResult.java | 75 -
.../documents/models/ScoringParameter.java | 123 -
.../documents/models/ScoringStatistics.java | 57 +-
.../documents/models/SearchAudience.java | 59 -
.../models/SearchDocumentsResult.java | 84 +-
.../search/documents/models/SearchMode.java | 57 +-
.../documents/models/SearchOptions.java | 707 --
.../documents/models/SearchRequest.java | 823 +++
.../search/documents/models/SearchResult.java | 266 +-
.../models/SearchScoreThreshold.java | 44 +-
.../documents/models/SemanticDebugInfo.java | 8 +-
.../documents/models/SemanticErrorMode.java | 4 +-
.../documents/models/SemanticErrorReason.java | 4 +-
.../documents/models/SemanticFieldState.java | 4 +-
.../SemanticQueryRewritesResultType.java | 4 +-
.../models/SemanticSearchOptions.java | 248 -
.../models/SemanticSearchResult.java | 69 -
.../models/SemanticSearchResults.java | 68 -
.../models/SemanticSearchResultsType.java | 4 +-
.../models/SingleVectorFieldResult.java | 15 +-
.../documents/models/SuggestOptions.java | 422 --
.../documents/models/SuggestResult.java | 145 +-
.../search/documents/models/TextResult.java | 6 +-
.../documents/models/ValueFacetResult.java | 59 -
.../documents/models/VectorFilterMode.java | 4 +-
.../search/documents/models/VectorQuery.java | 91 +-
.../documents/models/VectorQueryKind.java | 4 +-
.../documents/models/VectorSearchOptions.java | 71 -
.../models/VectorSimilarityThreshold.java | 19 +-
.../documents/models/VectorThreshold.java | 8 +-
.../documents/models/VectorThresholdKind.java | 6 +-
.../models/VectorizableImageBinaryQuery.java | 34 +-
.../models/VectorizableImageUrlQuery.java | 35 +-
.../models/VectorizableTextQuery.java | 81 +-
.../documents/models/VectorizedQuery.java | 77 +-
.../documents/models/VectorsDebugInfo.java | 8 +-
.../search/documents/models/package-info.java | 9 +-
.../options/OnActionAddedOptions.java | 37 -
.../options/OnActionErrorOptions.java | 81 -
.../options/OnActionSentOptions.java | 36 -
.../options/OnActionSucceededOptions.java | 37 -
.../documents/options/package-info.java | 7 -
.../azure/search/documents/package-info.java | 468 +-
.../documents/util/AutocompletePagedFlux.java | 25 -
.../util/AutocompletePagedIterable.java | 50 -
.../util/AutocompletePagedResponse.java | 44 -
.../documents/util/SearchPagedFlux.java | 139 -
.../documents/util/SearchPagedIterable.java | 164 -
.../documents/util/SearchPagedResponse.java | 163 -
.../documents/util/SuggestPagedFlux.java | 25 -
.../documents/util/SuggestPagedIterable.java | 50 -
.../documents/util/SuggestPagedResponse.java | 47 -
.../search/documents/util/package-info.java | 7 -
.../src/main/java/module-info.java | 18 +-
...e-search-documents_apiview_properties.json | 651 ++
.../azure-search-documents_metadata.json | 1 +
.../generated/KnowledgeBaseRetrieve.java | 45 +
.../KnowledgeBaseRetrieveWithIntents.java | 41 +
.../generated/SearchIndexCountDocuments.java | 21 +
.../generated/SearchIndexGetDocument.java | 24 +
.../generated/SearchServiceCreateAlias.java | 24 +
.../SearchServiceCreateDataSource.java | 39 +
.../generated/SearchServiceCreateIndex.java | 242 +
.../generated/SearchServiceCreateIndexer.java | 93 +
.../SearchServiceCreateKnowledgeBase.java | 47 +
.../SearchServiceCreateKnowledgeSource.java | 40 +
...ServiceCreateKnowledgeSourceAzureBlob.java | 73 +
...ceCreateKnowledgeSourceIndexedOneLake.java | 70 +
...reateKnowledgeSourceIndexedSharePoint.java | 74 +
...SearchServiceCreateKnowledgeSourceWeb.java | 40 +
.../SearchServiceCreateSkillset.java | 193 +
.../SearchServiceCreateSynonymMap.java | 31 +
.../generated/SearchServiceDeleteAlias.java | 22 +
.../SearchServiceDeleteDataSource.java | 22 +
.../generated/SearchServiceDeleteIndex.java | 22 +
.../generated/SearchServiceDeleteIndexer.java | 22 +
.../SearchServiceDeleteKnowledgeBase.java | 22 +
.../SearchServiceDeleteKnowledgeSource.java | 22 +
...ServiceDeleteKnowledgeSourceAzureBlob.java | 22 +
...ceDeleteKnowledgeSourceIndexedOneLake.java | 22 +
...eleteKnowledgeSourceIndexedSharePoint.java | 22 +
...SearchServiceDeleteKnowledgeSourceWeb.java | 22 +
.../SearchServiceDeleteSkillset.java | 22 +
.../SearchServiceDeleteSynonymMap.java | 22 +
.../generated/SearchServiceGetAlias.java | 22 +
.../generated/SearchServiceGetDataSource.java | 22 +
.../generated/SearchServiceGetIndex.java | 22 +
.../SearchServiceGetIndexStatistics.java | 22 +
.../SearchServiceGetIndexStatsSummary.java | 23 +
.../generated/SearchServiceGetIndexer.java | 22 +
.../SearchServiceGetIndexerStatus.java | 22 +
.../SearchServiceGetKnowledgeBase.java | 22 +
.../SearchServiceGetKnowledgeSource.java | 22 +
...rchServiceGetKnowledgeSourceAzureBlob.java | 22 +
...rviceGetKnowledgeSourceIndexedOneLake.java | 22 +
...ceGetKnowledgeSourceIndexedSharePoint.java | 22 +
...SearchServiceGetKnowledgeSourceStatus.java | 22 +
.../SearchServiceGetKnowledgeSourceWeb.java | 22 +
...hServiceGetS3HDUnlimitedIndexerStatus.java | 22 +
...viceGetS3HDUnlimitedServiceStatistics.java | 22 +
.../SearchServiceGetServiceStatistics.java | 22 +
.../generated/SearchServiceGetSkillset.java | 22 +
.../generated/SearchServiceGetSynonymMap.java | 22 +
.../generated/SearchServiceIndexAnalyze.java | 25 +
.../generated/SearchServiceListAliases.java | 23 +
.../generated/SearchServiceListIndexes.java | 23 +
.../SearchServiceListKnowledgeBases.java | 23 +
.../SearchServiceListKnowledgeSources.java | 23 +
...hServiceListKnowledgeSourcesAzureBlob.java | 23 +
...iceListKnowledgeSourcesIndexedOneLake.java | 23 +
...ListKnowledgeSourcesIndexedSharePoint.java | 23 +
.../SearchServiceListKnowledgeSourcesWeb.java | 23 +
.../generated/SearchServiceResetDocs.java | 24 +
.../generated/SearchServiceResetIndexer.java | 21 +
.../generated/SearchServiceResetSkills.java | 24 +
.../generated/SearchServiceResync.java | 25 +
.../generated/SearchServiceRunIndexer.java | 21 +
.../generated/KnowledgeBaseRetrieveTests.java | 80 +
...KnowledgeBaseRetrieveWithIntentsTests.java | 76 +
.../generated/SearchClientTestBase.java | 97 +
.../SearchIndexCountDocumentsTests.java | 22 +
.../SearchIndexGetDocumentTests.java | 25 +
.../SearchServiceCreateAliasTests.java | 31 +
.../SearchServiceCreateDataSourceTests.java | 81 +
.../SearchServiceCreateIndexTests.java | 431 ++
.../SearchServiceCreateIndexerTests.java | 176 +
...SearchServiceCreateKnowledgeBaseTests.java | 93 +
...ceCreateKnowledgeSourceAzureBlobTests.java | 96 +
...ateKnowledgeSourceIndexedOneLakeTests.java | 93 +
...KnowledgeSourceIndexedSharePointTests.java | 97 +
...archServiceCreateKnowledgeSourceTests.java | 63 +
...hServiceCreateKnowledgeSourceWebTests.java | 63 +
.../SearchServiceCreateSkillsetTests.java | 231 +
.../SearchServiceCreateSynonymMapTests.java | 53 +
.../SearchServiceDeleteAliasTests.java | 19 +
.../SearchServiceDeleteDataSourceTests.java | 19 +
.../SearchServiceDeleteIndexTests.java | 19 +
.../SearchServiceDeleteIndexerTests.java | 19 +
...SearchServiceDeleteKnowledgeBaseTests.java | 19 +
...ceDeleteKnowledgeSourceAzureBlobTests.java | 19 +
...eteKnowledgeSourceIndexedOneLakeTests.java | 19 +
...KnowledgeSourceIndexedSharePointTests.java | 19 +
...archServiceDeleteKnowledgeSourceTests.java | 19 +
...hServiceDeleteKnowledgeSourceWebTests.java | 19 +
.../SearchServiceDeleteSkillsetTests.java | 19 +
.../SearchServiceDeleteSynonymMapTests.java | 19 +
.../generated/SearchServiceGetAliasTests.java | 29 +
.../SearchServiceGetDataSourceTests.java | 62 +
.../SearchServiceGetIndexStatisticsTests.java | 29 +
...earchServiceGetIndexStatsSummaryTests.java | 34 +
.../generated/SearchServiceGetIndexTests.java | 227 +
.../SearchServiceGetIndexerStatusTests.java | 87 +
.../SearchServiceGetIndexerTests.java | 76 +
.../SearchServiceGetKnowledgeBaseTests.java | 72 +
...rviceGetKnowledgeSourceAzureBlobTests.java | 47 +
...GetKnowledgeSourceIndexedOneLakeTests.java | 47 +
...KnowledgeSourceIndexedSharePointTests.java | 47 +
...hServiceGetKnowledgeSourceStatusTests.java | 52 +
.../SearchServiceGetKnowledgeSourceTests.java | 47 +
...archServiceGetKnowledgeSourceWebTests.java | 47 +
...iceGetS3HDUnlimitedIndexerStatusTests.java | 88 +
...etS3HDUnlimitedServiceStatisticsTests.java | 80 +
...earchServiceGetServiceStatisticsTests.java | 78 +
.../SearchServiceGetSkillsetTests.java | 55 +
.../SearchServiceGetSynonymMapTests.java | 46 +
.../SearchServiceIndexAnalyzeTests.java | 36 +
.../SearchServiceListAliasesTests.java | 32 +
.../SearchServiceListIndexesTests.java | 232 +
.../SearchServiceListKnowledgeBasesTests.java | 75 +
...iceListKnowledgeSourcesAzureBlobTests.java | 50 +
...stKnowledgeSourcesIndexedOneLakeTests.java | 50 +
...nowledgeSourcesIndexedSharePointTests.java | 50 +
...earchServiceListKnowledgeSourcesTests.java | 50 +
...chServiceListKnowledgeSourcesWebTests.java | 50 +
.../SearchServiceResetDocsTests.java | 21 +
.../SearchServiceResetIndexerTests.java | 18 +
.../SearchServiceResetSkillsTests.java | 21 +
.../generated/SearchServiceResyncTests.java | 22 +
.../SearchServiceRunIndexerTests.java | 18 +
.../azure-search-documents/tsp-location.yaml | 4 +
700 files changed, 46088 insertions(+), 47834 deletions(-)
create mode 100644 sdk/search/azure-search-documents/customizations/pom.xml
create mode 100644 sdk/search/azure-search-documents/customizations/src/main/java/SearchCustomizations.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/SearchDocument.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/SearchFilter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/SearchIndexingBufferedAsyncSender.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/SearchIndexingBufferedSender.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/DocumentsImpl.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/KnowledgeBaseRetrievalClientImpl.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/SearchClientImpl.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/SearchIndexerClientImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/IndexBatchResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/IndexingDocumentManager.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/SearchBatchingUtils.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/SearchIndexingAsyncPublisher.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/SearchIndexingPublisher.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/TryTrackingIndexAction.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/batching/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/AnalyzeRequestConverter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/IndexActionConverter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/IndexActionHelper.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/SearchResultConverter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/SearchResultHelper.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/SuggestResultConverter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/SuggestResultHelper.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/converters/package-info.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/AutocompleteMode.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{models/AutocompleteOptions.java => implementation/models/AutocompletePostOptions.java} (50%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/{AutocompleteRequest.java => AutocompletePostRequest.java} (79%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{ => implementation}/models/AutocompleteResult.java (71%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/ErrorAdditionalInfo.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/ErrorDetail.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/ErrorResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/ErrorResponseException.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/IndexAction.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{ => implementation}/models/IndexDocumentsResult.java (73%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/RequestOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SearchContinuationToken.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SearchError.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SearchFirstPageResponseWrapper.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/{SearchOptions.java => SearchPostOptions.java} (53%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/{SearchRequest.java => SearchPostRequest.java} (68%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SearchResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/Speller.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SuggestPostOptions.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/{SuggestRequest.java => SuggestPostRequest.java} (75%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/models/SuggestResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/Constants.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/FieldBuilder.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/MappingUtils.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/SemanticSearchResultsAccessHelper.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/SpatialFormatter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/Utility.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/implementation/util/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/FieldBuilderIgnore.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/SearchIndexerDataSources.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/SearchableField.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/SimpleField.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/AliasesImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/DataSourcesImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/IndexersImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/IndexesImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/KnowledgeBasesImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/KnowledgeSourcesImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/SearchServiceClientImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/SkillsetsImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/SynonymMapsImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/AnalyzeRequest.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/EdgeNGramTokenFilterV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/EntityRecognitionSkillV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ErrorAdditionalInfo.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ErrorDetail.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ErrorResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ErrorResponseException.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/KeywordTokenizerV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ListAliasesResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ListIndexStatsSummary.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ListIndexesResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ListKnowledgeBasesResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/ListKnowledgeSourcesResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/LuceneStandardTokenizerV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/NGramTokenFilterV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/RequestOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/models/SentimentSkillV1.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/implementation/package-info.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/AnalyzeResult.java (82%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/AzureActiveDirectoryApplicationCredentials.java (79%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{BlobIndexerPdfTextRotationAlgorithm.java => BlobIndexerPDFTextRotationAlgorithm.java} (56%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{CommonModelParameters.java => ChatCompletionCommonModelParameters.java} (63%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{ChatCompletionResponseFormatJsonSchemaProperties.java => ChatCompletionSchemaProperties.java} (56%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/CreateOrUpdateDataSourceConnectionOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/CreateOrUpdateIndexerOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/CreateOrUpdateSkillsetOptions.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/CreatedResources.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/DataSourceCredentials.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/DocumentKeysOrIds.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/EdgeNGramTokenFilterV2.java (83%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/EntityRecognitionSkillV3.java (82%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/EntityRecognitionSkillVersion.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/FieldBuilderOptions.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{SearchIndexStatistics.java => GetIndexStatisticsResult.java} (51%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/IndexDocumentsBatch.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/KeywordTokenizerV2.java (80%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/LuceneStandardTokenizerV2.java (80%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/NGramTokenFilterV2.java (82%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{PiiDetectionSkill.java => PIIDetectionSkill.java} (77%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{PiiDetectionSkillMaskingMode.java => PIIDetectionSkillMaskingMode.java} (54%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/{PathHierarchyTokenizer.java => PathHierarchyTokenizerV2.java} (59%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/SentimentSkillV3.java (82%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/SentimentSkillVersion.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/{implementation => }/models/SkillNames.java (91%)
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/indexes/models/WebApiHttpHeaders.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/KnowledgeBaseRetrievalAsyncClient.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/KnowledgeBaseRetrievalClient.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/KnowledgeBaseRetrievalClientBuilder.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/AIServices.java (82%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/AzureBlobKnowledgeSourceParams.java (78%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/CompletedSynchronizationState.java (77%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/IndexedOneLakeKnowledgeSourceParams.java (78%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/IndexedSharePointKnowledgeSourceParams.java (78%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseActivityRecord.java (69%)
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/models/KnowledgeBaseActivityRecordType.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseAgenticReasoningActivityRecord.java (57%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseAzureBlobReference.java (54%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseErrorAdditionalInfo.java (83%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseErrorDetail.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases/models/KnowledgeBaseMessageImageContentImage.java => knowledgebase/models/KnowledgeBaseImageContent.java} (59%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseIndexedOneLakeReference.java (53%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseIndexedSharePointReference.java (53%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseMessage.java (81%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseMessageContent.java (95%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseMessageContentType.java (88%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseMessageImageContent.java (70%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseMessageTextContent.java (79%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseModelAnswerSynthesisActivityRecord.java (58%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseModelQueryPlanningActivityRecord.java (59%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseReference.java (73%)
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/models/KnowledgeBaseReferenceType.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseRemoteSharePointReference.java (52%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseRetrievalRequest.java (96%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseRetrievalResponse.java (72%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseSearchIndexReference.java (54%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeBaseWebReference.java (55%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeRetrievalIntent.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeRetrievalIntentType.java (87%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalLowReasoningEffort.java (93%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalMediumReasoningEffort.java (93%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalMinimalReasoningEffort.java (93%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalOutputMode.java (89%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalReasoningEffort.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeRetrievalReasoningEffortKind.java (90%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeRetrievalSemanticIntent.java (80%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeSourceAzureOpenAIVectorizer.java (93%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeSourceIngestionParameters.java (96%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/KnowledgeSourceParams.java (88%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeSourceStatistics.java (67%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeSourceStatus.java (87%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/KnowledgeSourceVectorizer.java (94%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/RemoteSharePointKnowledgeSourceParams.java (82%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/SearchIndexKnowledgeSourceParams.java (81%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/SharePointSensitivityLabelInfo.java (67%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{indexes => knowledgebase}/models/SynchronizationState.java (77%)
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{knowledgebases => knowledgebase}/models/WebKnowledgeSourceParams.java (83%)
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/models/package-info.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebase/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/SearchKnowledgeBaseAsyncClient.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/SearchKnowledgeBaseClient.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/SearchKnowledgeBaseClientBuilder.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/KnowledgeBaseRetrievalClientImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/KnowledgeRetrievalsImpl.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/ErrorAdditionalInfo.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/ErrorDetail.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/ErrorResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/ErrorResponseException.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/RequestOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/models/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/implementation/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseAzureBlobActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseAzureBlobActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseIndexedOneLakeActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseIndexedOneLakeActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseIndexedSharePointActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseIndexedSharePointActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseRemoteSharePointActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseRemoteSharePointActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseRetrievalActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseSearchIndexActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseSearchIndexActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseWebActivityArguments.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeBaseWebActivityRecord.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalLowReasoningEffort.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalMediumReasoningEffort.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalMinimalReasoningEffort.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalOutputMode.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalReasoningEffort.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeRetrievalReasoningEffortKind.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/KnowledgeSourceKind.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/SearchIndexFieldReference.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/models/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/knowledgebases/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/AutocompleteMode.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/GetDocumentOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/IndexBatchBase.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/IndexBatchException.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{implementation/models/IndexBatch.java => models/IndexDocumentsBatch.java} (68%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/IndexDocumentsOptions.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/LookupDocument.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/QueryAnswer.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/QueryCaption.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/QueryRewrites.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/RangeFacetResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/ScoringParameter.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SearchAudience.java
rename sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/{implementation => }/models/SearchDocumentsResult.java (70%)
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SearchOptions.java
create mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SearchRequest.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SemanticSearchOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SemanticSearchResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SemanticSearchResults.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/SuggestOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/ValueFacetResult.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/models/VectorSearchOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/options/OnActionAddedOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/options/OnActionErrorOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/options/OnActionSentOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/options/OnActionSucceededOptions.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/options/package-info.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/AutocompletePagedFlux.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/AutocompletePagedIterable.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/AutocompletePagedResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SearchPagedFlux.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SearchPagedIterable.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SearchPagedResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SuggestPagedFlux.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SuggestPagedIterable.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/SuggestPagedResponse.java
delete mode 100644 sdk/search/azure-search-documents/src/main/java/com/azure/search/documents/util/package-info.java
create mode 100644 sdk/search/azure-search-documents/src/main/resources/META-INF/azure-search-documents_apiview_properties.json
create mode 100644 sdk/search/azure-search-documents/src/main/resources/META-INF/azure-search-documents_metadata.json
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/KnowledgeBaseRetrieve.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/KnowledgeBaseRetrieveWithIntents.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchIndexCountDocuments.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchIndexGetDocument.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateAlias.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateDataSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateIndex.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateIndexer.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeBase.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceAzureBlob.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceIndexedOneLake.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceIndexedSharePoint.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceWeb.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateSkillset.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceCreateSynonymMap.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteAlias.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteDataSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteIndex.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteIndexer.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeBase.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceAzureBlob.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceIndexedOneLake.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceIndexedSharePoint.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceWeb.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteSkillset.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceDeleteSynonymMap.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetAlias.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetDataSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetIndex.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetIndexStatistics.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetIndexStatsSummary.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetIndexer.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetIndexerStatus.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeBase.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSource.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceAzureBlob.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceIndexedOneLake.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceIndexedSharePoint.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceStatus.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceWeb.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetS3HDUnlimitedIndexerStatus.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetS3HDUnlimitedServiceStatistics.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetServiceStatistics.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetSkillset.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceGetSynonymMap.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceIndexAnalyze.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListAliases.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListIndexes.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeBases.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSources.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesAzureBlob.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesIndexedOneLake.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesIndexedSharePoint.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesWeb.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceResetDocs.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceResetIndexer.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceResetSkills.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceResync.java
create mode 100644 sdk/search/azure-search-documents/src/samples/java/com/azure/search/documents/generated/SearchServiceRunIndexer.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/KnowledgeBaseRetrieveTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/KnowledgeBaseRetrieveWithIntentsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchClientTestBase.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchIndexCountDocumentsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchIndexGetDocumentTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateAliasTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateDataSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateIndexTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateIndexerTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeBaseTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceAzureBlobTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceIndexedOneLakeTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceIndexedSharePointTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateKnowledgeSourceWebTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateSkillsetTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceCreateSynonymMapTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteAliasTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteDataSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteIndexTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteIndexerTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeBaseTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceAzureBlobTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceIndexedOneLakeTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceIndexedSharePointTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteKnowledgeSourceWebTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteSkillsetTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceDeleteSynonymMapTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetAliasTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetDataSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetIndexStatisticsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetIndexStatsSummaryTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetIndexTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetIndexerStatusTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetIndexerTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeBaseTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceAzureBlobTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceIndexedOneLakeTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceIndexedSharePointTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceStatusTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetKnowledgeSourceWebTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetS3HDUnlimitedIndexerStatusTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetS3HDUnlimitedServiceStatisticsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetServiceStatisticsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetSkillsetTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceGetSynonymMapTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceIndexAnalyzeTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListAliasesTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListIndexesTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeBasesTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesAzureBlobTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesIndexedOneLakeTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesIndexedSharePointTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceListKnowledgeSourcesWebTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceResetDocsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceResetIndexerTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceResetSkillsTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceResyncTests.java
create mode 100644 sdk/search/azure-search-documents/src/test/java/com/azure/search/documents/generated/SearchServiceRunIndexerTests.java
create mode 100644 sdk/search/azure-search-documents/tsp-location.yaml
diff --git a/sdk/search/azure-search-documents/customizations/pom.xml b/sdk/search/azure-search-documents/customizations/pom.xml
new file mode 100644
index 000000000000..23dcd3377ae8
--- /dev/null
+++ b/sdk/search/azure-search-documents/customizations/pom.xml
@@ -0,0 +1,21 @@
+
+
- * Conceptually, a document is an entity in your index. Mapping this concept to more familiar database equivalents: - * a search index equates to a table, and documents are roughly equivalent to rows in a table. Documents exist only - * in an index, and are retrieved only through queries that target the documents collection (/docs) of an index. All - * operations performed on the collection such as uploading, merging, deleting, or querying documents take place in - * the context of a single index, so the URL format document operations will always include /indexes/[index name]/docs - * for a given index name. - *
- * - *- * This client provides an asynchronous API for accessing and performing operations on indexed documents. This client - * assists with searching your indexed documents, autocompleting partially typed search terms based on documents within the index, - * suggesting the most likely matching text in documents as a user types. The client provides operations for adding, updating, and deleting - * documents from an index. - *
- * - *- * Authenticating and building instances of this client are handled by {@link SearchClientBuilder}. This sample shows - * you how to authenticate and create an instance of the client: - *
- * - * - *
- * SearchAsyncClient searchAsyncClient = new SearchClientBuilder()
- * .credential(new AzureKeyCredential("{key}"))
- * .endpoint("{endpoint}")
- * .indexName("{indexName}")
- * .buildAsyncClient();
- *
- *
- *
- * - * For more information on authentication and building, see the {@link SearchClientBuilder} documentation. - *
- * - *- * The following examples all use a simple Hotel - * data set that you can - * import into your own index from the Azure portal. - * These are just a few of the basics - please check out our Samples for much more. - *
- * - *- * The following sample uploads a new document to an index. - *
- * - * - *
- * List<Hotel> hotels = new ArrayList<>();
- * hotels.add(new Hotel().setHotelId("100"));
- * hotels.add(new Hotel().setHotelId("200"));
- * hotels.add(new Hotel().setHotelId("300"));
- * searchAsyncClient.uploadDocuments(hotels).block();
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#uploadDocuments(Iterable)}.
- *
- *
- * - * The following sample merges documents in an index. - *
- * - * - *
- * List<Hotel> hotels = new ArrayList<>();
- * hotels.add(new Hotel().setHotelId("100"));
- * hotels.add(new Hotel().setHotelId("200"));
- * searchAsyncClient.mergeDocuments(hotels).block();
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#mergeDocuments(Iterable)}.
- *
- *
- * - * The following sample deletes a document from an index. - *
- * - * - *
- * SearchDocument documentId = new SearchDocument();
- * documentId.put("hotelId", "100");
- * searchAsyncClient.deleteDocuments(Collections.singletonList(documentId));
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#deleteDocuments(Iterable)}.
- *
- *
- * - * The following sample gets a document from an index. - *
- * - * - *
- * Hotel hotel = searchAsyncClient.getDocument("100", Hotel.class).block();
- * if (hotel != null) {
- * System.out.printf("Retrieved Hotel %s%n", hotel.getHotelId());
- * }
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#getDocument(String, Class)}.
- *
- *
- * - * The following sample searches for documents within an index. - *
- * - * - *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "8");
- * searchDocument.put("description", "budget");
- * searchDocument.put("descriptionFr", "motel");
- *
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "9");
- * searchDocument1.put("description", "budget");
- * searchDocument1.put("descriptionFr", "motel");
- *
- * List<SearchDocument> searchDocuments = new ArrayList<>();
- * searchDocuments.add(searchDocument);
- * searchDocuments.add(searchDocument1);
- * searchAsyncClient.uploadDocuments(searchDocuments);
- *
- * SearchPagedFlux results = searchAsyncClient.search("SearchText");
- * results.getTotalCount().subscribe(total -> System.out.printf("There are %s results", total));
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#search(String)}.
- *
- *
- * - * The following sample suggests the most likely matching text in documents. - *
- * - * - *
- * SuggestPagedFlux results = searchAsyncClient.suggest("searchText", "sg");
- * results.subscribe(item -> {
- * System.out.printf("The text '%s' was found.%n", item.getText());
- * });
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#suggest(String, String)}.
- *
- *
- * - * The following sample provides autocompletion for a partially typed query. - *
- * - * - *
- * AutocompletePagedFlux results = searchAsyncClient.autocomplete("searchText", "sg");
- * results.subscribe(item -> {
- * System.out.printf("The text '%s' was found.%n", item.getText());
- * });
- *
- *
- *
- *
- * For a synchronous sample see {@link SearchClient#autocomplete(String, String)}.
- *
- *
- * @see SearchClient
- * @see SearchClientBuilder
- * @see com.azure.search.documents
+ * Initializes a new instance of the asynchronous SearchClient type.
*/
@ServiceClient(builder = SearchClientBuilder.class, isAsync = true)
public final class SearchAsyncClient {
- private static final ClientLogger LOGGER = new ClientLogger(SearchAsyncClient.class);
-
- /**
- * Search REST API Version
- */
- private final SearchServiceVersion serviceVersion;
-
- /**
- * The endpoint for the Azure AI Search service.
- */
- private final String endpoint;
-
- /**
- * The name of the Azure AI Search index.
- */
- private final String indexName;
-
- /**
- * The underlying AutoRest client used to interact with the Azure AI Search service
- */
- private final SearchIndexClientImpl restClient;
-
- /**
- * The pipeline that powers this client.
- */
- private final HttpPipeline httpPipeline;
-
- final JsonSerializer serializer;
-
- /**
- * Package private constructor to be used by {@link SearchClientBuilder}
- */
- SearchAsyncClient(String endpoint, String indexName, SearchServiceVersion serviceVersion, HttpPipeline httpPipeline,
- JsonSerializer serializer, SearchIndexClientImpl restClient) {
- this.endpoint = endpoint;
- this.indexName = indexName;
- this.serviceVersion = serviceVersion;
- this.httpPipeline = httpPipeline;
- this.serializer = serializer;
- this.restClient = restClient;
- }
-
- /**
- * Gets the name of the Azure AI Search index.
- *
- * @return the indexName value.
- */
- public String getIndexName() {
- return this.indexName;
- }
-
- /**
- * Gets the {@link HttpPipeline} powering this client.
- *
- * @return the pipeline.
- */
- HttpPipeline getHttpPipeline() {
- return this.httpPipeline;
- }
+ @Generated
+ private final SearchClientImpl serviceClient;
/**
- * Gets the endpoint for the Azure AI Search service.
- *
- * @return the endpoint value.
+ * Initializes an instance of SearchAsyncClient class.
+ *
+ * @param serviceClient the service client implementation.
*/
- public String getEndpoint() {
- return this.endpoint;
+ @Generated
+ SearchAsyncClient(SearchClientImpl serviceClient) {
+ this.serviceClient = serviceClient;
}
/**
- * Uploads a collection of documents to the target index.
- *
- * Code Sample
- * - *Upload dynamic SearchDocument.
- * - * + * Queries the number of documents in the index. + *Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * SEARCH_ASYNC_CLIENT.uploadDocuments(Collections.singletonList(searchDocument))
- * .subscribe(result -> {
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s upload successfully? %b%n",
- * indexingResult.getKey(), indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * long
+ * }
*
- *
- *
- * @param documents collection of documents to upload to the target Index.
- * @return The result of the document indexing actions.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return a 64-bit integer along with {@link Response} on successful completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public MonoCode Sample
- * - *Upload dynamic SearchDocument.
- * - * + * Searches for documents in the index. + *Query Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| search | String | No | A full-text search query expression; Use "*" or omit this + * parameter to match all documents. |
| $count | Boolean | No | A value that specifies whether to fetch the total count of + * results. Default is false. Setting this value to true may have a performance impact. Note that the count returned + * is an approximation. |
| facet | List<String> | No | The list of facet expressions to apply to the search + * query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value + * pairs. Call {@link RequestOptions#addQueryParam} to add string to array. |
| $filter | String | No | The OData $filter expression to apply to the search + * query. |
| highlight | List<String> | No | The list of field names to use for hit + * highlights. Only searchable fields can be used for hit highlighting. In the form of "," separated + * string. |
| highlightPostTag | String | No | A string tag that is appended to hit highlights. Must + * be set with highlightPreTag. Default is </em>. |
| highlightPreTag | String | No | A string tag that is prepended to hit highlights. Must + * be set with highlightPostTag. Default is <em>. |
| minimumCoverage | Double | No | A number between 0 and 100 indicating the percentage of + * the index that must be covered by a search query in order for the query to be reported as a success. This + * parameter can be useful for ensuring search availability even for services with only one replica. The default is + * 100. |
| $orderby | List<String> | No | The list of OData $orderby expressions by which to + * sort the results. Each expression can be either a field name or a call to either the geo.distance() or the + * search.score() functions. Each expression can be followed by asc to indicate ascending, and desc to indicate + * descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy + * is specified, the default sort order is descending by document match score. There can be at most 32 $orderby + * clauses. In the form of "," separated string. |
| queryType | String | No | A value that specifies the syntax of the search query. The + * default is 'simple'. Use 'full' if your query uses the Lucene query syntax. Allowed values: "simple", "full", + * "semantic". |
| scoringParameter | List<String> | No | The list of parameter values to be used in + * scoring functions (for example, referencePointParameter) using the format name-values. For example, if the + * scoring profile defines a function with a parameter called 'mylocation' the parameter string would be + * "mylocation--122.2,44.8" (without the quotes). Call {@link RequestOptions#addQueryParam} to add string to + * array. |
| scoringProfile | String | No | The name of a scoring profile to evaluate match scores + * for matching documents in order to sort the results. |
| searchFields | List<String> | No | The list of field names to which to scope the + * full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names + * of each fielded search expression take precedence over any field names listed in this parameter. In the form of + * "," separated string. |
| searchMode | String | No | A value that specifies whether any or all of the search + * terms must be matched in order to count the document as a match. Allowed values: "any", "all". |
| scoringStatistics | String | No | A value that specifies whether we want to calculate + * scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower + * latency. Allowed values: "local", "global". |
| sessionId | String | No | A value to be used to create a sticky session, which can help + * to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to + * target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the + * load balancing of the requests across replicas and adversely affect the performance of the search service. The + * value used as sessionId cannot start with a '_' character. |
| $select | List<String> | No | The list of fields to retrieve. If unspecified, all + * fields marked as retrievable in the schema are included. In the form of "," separated string. |
| $skip | Integer | No | The number of search results to skip. This value cannot be + * greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this limitation, + * consider using $orderby on a totally-ordered key and $filter with a range query instead. |
| $top | Integer | No | The number of search results to retrieve. This can be used in + * conjunction with $skip to implement client-side paging of search results. If results are truncated due to + * server-side paging, the response will include a continuation token that can be used to issue another Search + * request for the next page of results. |
| semanticConfiguration | String | No | The name of the semantic configuration that lists + * which fields should be used for semantic ranking, captions, highlights, and answers |
| semanticErrorHandling | String | No | Allows the user to choose whether a semantic call + * should fail completely, or to return partial results (default). Allowed values: "partial", "fail". |
| semanticMaxWaitInMilliseconds | Integer | No | Allows the user to set an upper bound on + * the amount of time it takes for semantic enrichment to finish processing before the request fails. |
| answers | String | No | This parameter is only valid if the query type is `semantic`. + * If set, the query returns answers extracted from key passages in the highest ranked documents. The number of + * answers returned can be configured by appending the pipe character `|` followed by the `count-<number of + * answers>` option after the answers parameter value, such as `extractive|count-3`. Default count is 1. The + * confidence threshold can be configured by appending the pipe character `|` followed by the + * `threshold-<confidence threshold>` option after the answers parameter value, such as + * `extractive|threshold-0.9`. Default threshold is 0.7. The maximum character length of answers can be configured + * by appending the pipe character '|' followed by the 'count-<number of maximum character length>', such as + * 'extractive|maxcharlength-600'. Allowed values: "none", "extractive". |
| captions | String | No | This parameter is only valid if the query type is `semantic`. + * If set, the query returns captions extracted from key passages in the highest ranked documents. When Captions is + * set to `extractive`, highlighting is enabled by default, and can be configured by appending the pipe character + * `|` followed by the `highlight-<true/false>` option, such as `extractive|highlight-true`. Defaults to + * `None`. The maximum character length of captions can be configured by appending the pipe character '|' followed + * by the 'count-<number of maximum character length>', such as 'extractive|maxcharlength-600'. Allowed + * values: "none", "extractive". |
| semanticQuery | String | No | Allows setting a separate search query that will be + * solely used for semantic reranking, semantic captions and semantic answers. Is useful for scenarios where there + * is a need to use different queries between the base retrieval and ranking phase, and the L2 semantic + * phase. |
| queryRewrites | String | No | When QueryRewrites is set to `generative`, the query + * terms are sent to a generate model which will produce 10 (default) rewrites to help increase the recall of the + * request. The requested count can be configured by appending the pipe character `|` followed by the + * `count-<number of rewrites>` option, such as `generative|count-3`. Defaults to `None`. This parameter is + * only valid if the query type is `semantic`. Allowed values: "none", "generative". |
| debug | String | No | Enables a debugging tool that can be used to further explore your + * search results. Allowed values: "disabled", "semantic", "vector", "queryRewrites", "innerHits", "all". |
| queryLanguage | String | No | The language of the query. Allowed values: "none", + * "en-us", "en-gb", "en-in", "en-ca", "en-au", "fr-fr", "fr-ca", "de-de", "es-es", "es-mx", "zh-cn", "zh-tw", + * "pt-br", "pt-pt", "it-it", "ja-jp", "ko-kr", "ru-ru", "cs-cz", "nl-be", "nl-nl", "hu-hu", "pl-pl", "sv-se", + * "tr-tr", "hi-in", "ar-sa", "ar-eg", "ar-ma", "ar-kw", "ar-jo", "da-dk", "no-no", "bg-bg", "hr-hr", "hr-ba", + * "ms-my", "ms-bn", "sl-sl", "ta-in", "vi-vn", "el-gr", "ro-ro", "is-is", "id-id", "th-th", "lt-lt", "uk-ua", + * "lv-lv", "et-ee", "ca-es", "fi-fi", "sr-ba", "sr-me", "sr-rs", "sk-sk", "nb-no", "hy-am", "bn-in", "eu-es", + * "gl-es", "gu-in", "he-il", "ga-ie", "kn-in", "ml-in", "mr-in", "fa-ae", "pa-in", "te-in", "ur-pk". |
| speller | String | No | Improve search recall by spell-correcting individual search + * query terms. Allowed values: "none", "lexicon". |
| semanticFields | List<String> | No | The list of field names used for semantic + * ranking. In the form of "," separated string. |
Header Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| x-ms-query-source-authorization | String | No | Token identifying the user for which + * the query is being executed. This token is used to enforce security restrictions on documents. |
| x-ms-enable-elevated-read | Boolean | No | A value that enables elevated read that + * bypass document level permission checks for the query operation. |
Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * searchAsyncClient.uploadDocumentsWithResponse(Collections.singletonList(searchDocument), null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s upload successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * @odata.count: Long (Optional)
+ * @search.coverage: Double (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (Required){
+ * count: Long (Optional)
+ * avg: Double (Optional)
+ * min: Double (Optional)
+ * max: Double (Optional)
+ * sum: Double (Optional)
+ * cardinality: Long (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * @search.answers (Optional): [
+ * (Optional){
+ * score: Double (Optional)
+ * key: String (Optional)
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.debug (Optional): {
+ * queryRewrites (Optional): {
+ * text (Optional): {
+ * inputQuery: String (Optional)
+ * rewrites (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * vectors (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * }
+ * @search.nextPageParameters (Optional): {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * value (Required): [
+ * (Required){
+ * @search.score: double (Required)
+ * @search.rerankerScore: Double (Optional)
+ * @search.rerankerBoostedScore: Double (Optional)
+ * @search.highlights (Optional): {
+ * String (Required): [
+ * String (Required)
+ * ]
+ * }
+ * @search.captions (Optional): [
+ * (Optional){
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.documentDebugInfo (Optional): {
+ * semantic (Optional): {
+ * titleField (Optional): {
+ * name: String (Optional)
+ * state: String(used/unused/partial) (Optional)
+ * }
+ * contentFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * keywordFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * rerankerInput (Optional): {
+ * title: String (Optional)
+ * content: String (Optional)
+ * keywords: String (Optional)
+ * }
+ * }
+ * vectors (Optional): {
+ * subscores (Optional): {
+ * text (Optional): {
+ * searchScore: Double (Optional)
+ * }
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): {
+ * searchScore: Double (Optional)
+ * vectorSimilarity: Double (Optional)
+ * }
+ * }
+ * ]
+ * documentBoost: Double (Optional)
+ * }
+ * }
+ * innerHits (Optional): {
+ * String (Required): [
+ * (Required){
+ * ordinal: Long (Optional)
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): (recursive schema, see String above)
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @odata.nextLink: String (Optional)
+ * @search.semanticPartialResponseReason: String(maxWaitExceeded/capacityOverloaded/transient) (Optional)
+ * @search.semanticPartialResponseType: String(baseResults/rerankedResults) (Optional)
+ * @search.semanticQueryRewritesResultType: String(originalQueryOnly) (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to upload to the target Index.
- * @param options Options that allow specifying document indexing behavior.
- * @return A response containing the result of the document indexing actions.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing search results from an index along with {@link Response} on successful completion of
+ * {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge - * correctly. If you do not set such a property, it will automatically take its default value (for example, - * {@code 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently - * stored in the index, even if this was not your intent. For this reason, it is strongly recommended that you - * always declare primitive-typed properties with their class equivalents (for example, an integer property should - * be of type {@code Integer} instead of {@code int}). - * - *
Code Sample
- * - *Merge dynamic SearchDocument.
- * - * + * Searches for documents in the index. + *Header Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| x-ms-query-source-authorization | String | No | Token identifying the user for which + * the query is being executed. This token is used to enforce security restrictions on documents. |
| x-ms-enable-elevated-read | Boolean | No | A value that enables elevated read that + * bypass document level permission checks for the query operation. |
Request Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelName", "merge");
- * SEARCH_ASYNC_CLIENT.mergeDocuments(Collections.singletonList(searchDocument))
- * .subscribe(result -> {
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s merge successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged
- * @return document index result
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge - * correctly. If you do not set such a property, it will automatically take its default value (for example, - * {@code 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently - * stored in the index, even if this was not your intent. For this reason, it is strongly recommended that you - * always declare primitive-typed properties with their class equivalents (for example, an integer property should - * be of type {@code Integer} instead of {@code int}). - * - *
Code Sample
- * - *Merge dynamic SearchDocument.
- * - * + * + *Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelName", "test");
- * searchAsyncClient.mergeDocumentsWithResponse(Collections.singletonList(searchDocument), null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s merge successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * @odata.count: Long (Optional)
+ * @search.coverage: Double (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (Required){
+ * count: Long (Optional)
+ * avg: Double (Optional)
+ * min: Double (Optional)
+ * max: Double (Optional)
+ * sum: Double (Optional)
+ * cardinality: Long (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * @search.answers (Optional): [
+ * (Optional){
+ * score: Double (Optional)
+ * key: String (Optional)
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.debug (Optional): {
+ * queryRewrites (Optional): {
+ * text (Optional): {
+ * inputQuery: String (Optional)
+ * rewrites (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * vectors (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * }
+ * @search.nextPageParameters (Optional): {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * value (Required): [
+ * (Required){
+ * @search.score: double (Required)
+ * @search.rerankerScore: Double (Optional)
+ * @search.rerankerBoostedScore: Double (Optional)
+ * @search.highlights (Optional): {
+ * String (Required): [
+ * String (Required)
+ * ]
+ * }
+ * @search.captions (Optional): [
+ * (Optional){
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.documentDebugInfo (Optional): {
+ * semantic (Optional): {
+ * titleField (Optional): {
+ * name: String (Optional)
+ * state: String(used/unused/partial) (Optional)
+ * }
+ * contentFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * keywordFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * rerankerInput (Optional): {
+ * title: String (Optional)
+ * content: String (Optional)
+ * keywords: String (Optional)
+ * }
+ * }
+ * vectors (Optional): {
+ * subscores (Optional): {
+ * text (Optional): {
+ * searchScore: Double (Optional)
+ * }
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): {
+ * searchScore: Double (Optional)
+ * vectorSimilarity: Double (Optional)
+ * }
+ * }
+ * ]
+ * documentBoost: Double (Optional)
+ * }
+ * }
+ * innerHits (Optional): {
+ * String (Required): [
+ * (Required){
+ * ordinal: Long (Optional)
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): (recursive schema, see String above)
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @odata.nextLink: String (Optional)
+ * @search.semanticPartialResponseReason: String(maxWaitExceeded/capacityOverloaded/transient) (Optional)
+ * @search.semanticPartialResponseType: String(baseResults/rerankedResults) (Optional)
+ * @search.semanticQueryRewritesResultType: String(originalQueryOnly) (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged
- * @param options Options that allow specifying document indexing behavior.
- * @return response containing the document index result.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param searchPostRequest The searchPostRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing search results from an index along with {@link Response} on successful completion of
+ * {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge - * correctly. If you do not set such a property, it will automatically take its default value (for example, - * {@code 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently - * stored in the index, even if this was not your intent. For this reason, it is strongly recommended that you - * always declare primitive-typed properties with their class equivalents (for example, an integer property should - * be of type {@code Integer} instead of {@code int}). - * - *
Code Sample
- * - *Merge or upload dynamic SearchDocument.
- * - * + * Retrieves a document from the index. + *Query Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| $select | List<String> | No | List of field names to retrieve for the document; + * Any field not retrieved will be missing from the returned document. In the form of "," separated + * string. |
Header Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| x-ms-query-source-authorization | String | No | Token identifying the user for which + * the query is being executed. This token is used to enforce security restrictions on documents. |
| x-ms-enable-elevated-read | Boolean | No | A value that enables elevated read that + * bypass document level permission checks for the query operation. |
Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * SEARCH_ASYNC_CLIENT.mergeOrUploadDocuments(Collections.singletonList(searchDocument))
- * .subscribe(result -> {
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s mergeOrUpload successfully? %b%n",
- * indexingResult.getKey(), indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged, if exists, otherwise uploaded
- * @return document index result
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param key The key of the document to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return a document retrieved via a document lookup operation along with {@link Response} on successful completion
+ * of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge - * correctly. If you do not set such a property, it will automatically take its default value (for example, - * {@code 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently - * stored in the index, even if this was not your intent. For this reason, it is strongly recommended that you - * always declare primitive-typed properties with their class equivalents (for example, an integer property should - * be of type {@code Integer} instead of {@code int}). - * - *
Code Sample
- * - *Merge or upload dynamic SearchDocument.
- * - * + * Suggests documents in the index that match the given partial query text. + *Query Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| $filter | String | No | An OData expression that filters the documents considered for + * suggestions. |
| fuzzy | Boolean | No | A value indicating whether to use fuzzy matching for the + * suggestions query. Default is false. When set to true, the query will find terms even if there's a substituted or + * missing character in the search text. While this provides a better experience in some scenarios, it comes at a + * performance cost as fuzzy suggestions queries are slower and consume more resources. |
| highlightPostTag | String | No | A string tag that is appended to hit highlights. Must + * be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled. |
| highlightPreTag | String | No | A string tag that is prepended to hit highlights. Must + * be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled. |
| minimumCoverage | Double | No | A number between 0 and 100 indicating the percentage of + * the index that must be covered by a suggestions query in order for the query to be reported as a success. This + * parameter can be useful for ensuring search availability even for services with only one replica. The default is + * 80. |
| $orderby | List<String> | No | The list of OData $orderby expressions by which to + * sort the results. Each expression can be either a field name or a call to either the geo.distance() or the + * search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate + * descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby + * is specified, the default sort order is descending by document match score. There can be at most 32 $orderby + * clauses. In the form of "," separated string. |
| searchFields | List<String> | No | The list of field names to search for the + * specified search text. Target fields must be included in the specified suggester. In the form of "," separated + * string. |
| $select | List<String> | No | The list of fields to retrieve. If unspecified, + * only the key field will be included in the results. In the form of "," separated string. |
| $top | Integer | No | The number of suggestions to retrieve. The value must be a number + * between 1 and 100. The default is 5. |
Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * searchAsyncClient.mergeOrUploadDocumentsWithResponse(Collections.singletonList(searchDocument), null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s mergeOrUpload successfully? %b%n",
- * indexingResult.getKey(), indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.text: String (Required)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.coverage: Double (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged, if exists, otherwise uploaded
- * @param options Options that allow specifying document indexing behavior.
- * @return document index result
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no more than 100
+ * characters.
+ * @param suggesterName The name of the suggester as specified in the suggesters collection that's part of the index
+ * definition.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing suggestion query results from an index along with {@link Response} on successful
+ * completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public MonoCode Sample
- * - *Delete dynamic SearchDocument.
- * - * + * Suggests documents in the index that match the given partial query text. + *Request Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * SEARCH_ASYNC_CLIENT.deleteDocuments(Collections.singletonList(searchDocument))
- * .subscribe(result -> {
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s delete successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * filter: String (Optional)
+ * fuzzy: Boolean (Optional)
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * search: String (Required)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * suggesterName: String (Required)
+ * top: Integer (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to delete from the target Index. Fields other than the key are ignored.
- * @return document index result.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public MonoCode Sample
- * - *Delete dynamic SearchDocument.
- * - * + * + *Response Body Schema
+ * *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * searchAsyncClient.deleteDocumentsWithResponse(Collections.singletonList(searchDocument), null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s delete successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.text: String (Required)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.coverage: Double (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to delete from the target Index. Fields other than the key are ignored.
- * @param options Options that allow specifying document indexing behavior.
- * @return response containing the document index result.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param suggestPostRequest The suggestPostRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing suggestion query results from an index along with {@link Response} on successful
+ * completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public MonoCode Sample
- * - *Index batch operation on dynamic SearchDocument.
- * - * + * Sends a batch of document write actions to the index. + *Request Body Schema
+ * *
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "1");
- * searchDocument1.put("hotelName", "test1");
- * SearchDocument searchDocument2 = new SearchDocument();
- * searchDocument2.put("hotelId", "2");
- * searchDocument2.put("hotelName", "test2");
- * IndexDocumentsBatch<SearchDocument> indexDocumentsBatch = new IndexDocumentsBatch<>();
- * indexDocumentsBatch.addUploadActions(Collections.singletonList(searchDocument1));
- * indexDocumentsBatch.addDeleteActions(Collections.singletonList(searchDocument2));
- * SEARCH_ASYNC_CLIENT.indexDocuments(indexDocumentsBatch)
- * .subscribe(result -> {
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s finish successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.action: String(upload/merge/mergeOrUpload/delete) (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param batch The batch of index actions
- * @return Response containing the status of operations for all actions in the batch.
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public MonoCode Sample
- * - *Index batch operation on dynamic SearchDocument.
- * - * + * + *Response Body Schema
+ * *
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "1");
- * searchDocument1.put("hotelName", "test1");
- * SearchDocument searchDocument2 = new SearchDocument();
- * searchDocument2.put("hotelId", "2");
- * searchDocument2.put("hotelName", "test2");
- * IndexDocumentsBatch<SearchDocument> indexDocumentsBatch = new IndexDocumentsBatch<>();
- * indexDocumentsBatch.addUploadActions(Collections.singletonList(searchDocument1));
- * indexDocumentsBatch.addDeleteActions(Collections.singletonList(searchDocument2));
- * searchAsyncClient.indexDocumentsWithResponse(indexDocumentsBatch, null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s finish successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
- * });
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * key: String (Required)
+ * errorMessage: String (Optional)
+ * status: boolean (Required)
+ * statusCode: int (Required)
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param batch The batch of index actions
- * @param options Options that allow specifying document indexing behavior.
- * @return Response containing the status of operations for all actions in the batch
- * @throws IndexBatchException If an indexing action fails but other actions succeed and modify the state of the
- * index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly catch
- * this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing result
- * reports the status of each indexing action in the batch, making it possible to determine the state of the index
- * after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param batch The batch of index actions.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing the status of operations for all documents in the indexing request along with
+ * {@link Response} on successful completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono- * View naming rules for guidelines on - * constructing valid document keys. - * - *
Code Sample
- * - *Get dynamic SearchDocument.
- * - * + * Autocompletes incomplete query terms based on input text and matching terms in the index. + *Query Parameters
+ *| Name | Type | Required | Description |
|---|---|---|---|
| autocompleteMode | String | No | Specifies the mode for Autocomplete. The default is + * 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing + * auto-completed terms. Allowed values: "oneTerm", "twoTerms", "oneTermWithContext". |
| $filter | String | No | An OData expression that filters the documents used to produce + * completed terms for the Autocomplete result. |
| fuzzy | Boolean | No | A value indicating whether to use fuzzy matching for the + * autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted + * or missing character in the search text. While this provides a better experience in some scenarios, it comes at a + * performance cost as fuzzy autocomplete queries are slower and consume more resources. |
| highlightPostTag | String | No | A string tag that is appended to hit highlights. Must + * be set with highlightPreTag. If omitted, hit highlighting is disabled. |
| highlightPreTag | String | No | A string tag that is prepended to hit highlights. Must + * be set with highlightPostTag. If omitted, hit highlighting is disabled. |
| minimumCoverage | Double | No | A number between 0 and 100 indicating the percentage of + * the index that must be covered by an autocomplete query in order for the query to be reported as a success. This + * parameter can be useful for ensuring search availability even for services with only one replica. The default is + * 80. |
| searchFields | List<String> | No | The list of field names to consider when + * querying for auto-completed terms. Target fields must be included in the specified suggester. In the form of "," + * separated string. |
| $top | Integer | No | The number of auto-completed terms to retrieve. This must be a + * value between 1 and 100. The default is 5. |
Response Body Schema
+ * *
- * SEARCH_ASYNC_CLIENT.getDocument("hotelId", SearchDocument.class)
- * .subscribe(result -> {
- * for (Map.Entry<String, Object> keyValuePair : result.entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
+ * {@code
+ * {
+ * @search.coverage: Double (Optional)
+ * value (Required): [
+ * (Required){
+ * text: String (Required)
+ * queryPlusText: String (Required)
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param key The key of the document to retrieve.
- * @param modelClass The model class converts to.
- * @param - * View naming rules for guidelines on - * constructing valid document keys. - * - *
Code Sample
- * - *Get dynamic SearchDocument.
- * - * + * Autocompletes incomplete query terms based on input text and matching terms in the index. + *Request Body Schema
+ * *
- * SEARCH_ASYNC_CLIENT.getDocument("hotelId", SearchDocument.class)
- * .subscribe(result -> {
- * for (Map.Entry<String, Object> keyValuePair : result.entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
+ * {@code
+ * {
+ * search: String (Required)
+ * autocompleteMode: String(oneTerm/twoTerms/oneTermWithContext) (Optional)
+ * filter: String (Optional)
+ * fuzzy: Boolean (Optional)
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * suggesterName: String (Required)
+ * top: Integer (Optional)
+ * }
+ * }
*
- *
- *
- * @param key The key of the document to retrieve.
- * @param modelClass The model class converts to.
- * @param querySourceAuthorization Token identifying the user for which the query is being executed.
- * This token is used to enforce security restrictions on documents.
- * @param - * View naming rules for guidelines on - * constructing valid document keys. - * - *
Code Sample
- * - *Get dynamic SearchDocument.
- * - * + * + *Response Body Schema
+ * *
- * SEARCH_ASYNC_CLIENT.getDocumentWithResponse("hotelId", SearchDocument.class, null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (Map.Entry<String, Object> keyValuePair : resultResponse.getValue().entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
+ * {@code
+ * {
+ * @search.coverage: Double (Optional)
+ * value (Required): [
+ * (Required){
+ * text: String (Required)
+ * queryPlusText: String (Required)
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param - * View naming rules for guidelines on - * constructing valid document keys. - * - *
Code Sample
- * - *Get dynamic SearchDocument.
- * - * - *
- * SEARCH_ASYNC_CLIENT.getDocumentWithResponse("hotelId", SearchDocument.class, null)
- * .subscribe(resultResponse -> {
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (Map.Entry<String, Object> keyValuePair : resultResponse.getValue().entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
- *
- *
- *
- * @param
- * View naming rules for guidelines on
- * constructing valid document keys.
- *
- * @param options Additional options for retrieving the document.
- * @param Code Sample Get document count. Code Sample Get document count.
- * If {@code searchText} is set to null or {@code "*"} all documents will be matched, see
- * simple query
- * syntax in Azure AI Search for more information about search query syntax.
- *
- * The {@link SearchPagedFlux} will iterate through search result pages until all search results are returned.
- * Each page is determined by the {@code $skip} and {@code $top} values and the Search service has a limit on the
- * number of documents that can be skipped, more information about the {@code $skip} limit can be found at
- * Search Documents REST API and
- * reading the {@code $skip} description. If the total number of results exceeds the {@code $skip} limit the
- * {@link SearchPagedFlux} won't prevent you from exceeding the {@code $skip} limit. To prevent exceeding the limit
- * you can track the number of documents returned and stop requesting new pages when the limit is reached.
- *
- * Code Sample Search text from documents in service.
- * If {@code searchText} is set to null or {@code "*"} all documents will be matched, see
- * simple query
- * syntax in Azure AI Search for more information about search query syntax.
- *
- * The {@link SearchPagedFlux} will iterate through search result pages until all search results are returned.
- * Each page is determined by the {@code $skip} and {@code $top} values and the Search service has a limit on the
- * number of documents that can be skipped, more information about the {@code $skip} limit can be found at
- * Search Documents REST API and
- * reading the {@code $skip} description. If the total number of results exceeds the {@code $skip} limit the
- * {@link SearchPagedFlux} won't prevent you from exceeding the {@code $skip} limit. To prevent exceeding the limit
- * you can track the number of documents returned and stop requesting new pages when the limit is reached.
- *
- * Code Sample Search text from documents in service.
- * If {@code searchText} is set to null or {@code "*"} all documents will be matched, see
- * simple query
- * syntax in Azure AI Search for more information about search query syntax.
- *
- * The {@link SearchPagedFlux} will iterate through search result pages until all search results are returned.
- * Each page is determined by the {@code $skip} and {@code $top} values and the Search service has a limit on the
- * number of documents that can be skipped, more information about the {@code $skip} limit can be found at
- * Search Documents REST API and
- * reading the {@code $skip} description. If the total number of results exceeds the {@code $skip} limit the
- * {@link SearchPagedFlux} won't prevent you from exceeding the {@code $skip} limit. To prevent exceeding the limit
- * you can track the number of documents returned and stop requesting new pages when the limit is reached.
- *
- * Code Sample Search text from documents in service with option.
- * If {@code searchText} is set to null or {@code "*"} all documents will be matched, see
- * simple query
- * syntax in Azure AI Search for more information about search query syntax.
- *
- * The {@link SearchPagedFlux} will iterate through search result pages until all search results are returned.
- * Each page is determined by the {@code $skip} and {@code $top} values and the Search service has a limit on the
- * number of documents that can be skipped, more information about the {@code $skip} limit can be found at
- * Search Documents REST API and
- * reading the {@code $skip} description. If the total number of results exceeds the {@code $skip} limit the
- * {@link SearchPagedFlux} won't prevent you from exceeding the {@code $skip} limit. To prevent exceeding the limit
- * you can track the number of documents returned and stop requesting new pages when the limit is reached.
- *
- * Code Sample Search text from documents in service with option. Code Sample Suggest text from documents in service. Code Sample Suggest text from documents in service with option. Code Sample Autocomplete text from documents in service. Code Sample Autocomplete text from documents in service with option.
- * Conceptually, a document is an entity in your index. Mapping this concept to more familiar database equivalents:
- * a search index equates to a table, and documents are roughly equivalent to rows in a table. Documents exist only
- * in an index, and are retrieved only through queries that target the documents collection (/docs) of an index. All
- * operations performed on the collection such as uploading, merging, deleting, or querying documents take place in
- * the context of a single index, so the URL format document operations will always include /indexes/[index name]/docs
- * for a given index name.
- *
- * This client provides a synchronous API for accessing and performing operations on indexed documents. This client
- * assists with searching your indexed documents, autocompleting partially typed search terms based on documents within the index,
- * suggesting the most likely matching text in documents as a user types. The client provides operations for adding, updating, and deleting
- * documents from an index.
- *
- * Authenticating and building instances of this client are handled by {@link SearchClientBuilder}. This sample shows
- * you how to authenticate and create an instance of the client:
- *
- * For more information on authentication and building, see the {@link SearchClientBuilder} documentation.
- *
- * The following examples all use a simple Hotel
- * data set that you can
- * import into your own index from the Azure portal.
- * These are just a few of the basics - please check out our Samples for much more.
- *
- * The following sample uploads a new document to an index.
- *
- * The following sample merges documents in an index.
- *
- * The following sample deletes a document from an index.
- *
- * The following sample gets a document from an index.
- *
- * The following sample searches for documents within an index.
- *
- * The following sample suggests the most likely matching text in documents.
- *
- * The following sample provides autocompletion for a partially typed query.
- * Code Sample Upload dynamic SearchDocument. Response Body Schema Code Sample Upload dynamic SearchDocument. Query Parameters Header Parameters Response Body Schema
- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge
- * correctly. If you do not set such a property, it will automatically take its default value (for example, {@code
- * 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently stored
- * in the index, even if this was not your intent. For this reason, it is strongly recommended that you always
- * declare primitive-typed properties with their class equivalents (for example, an integer property should be of
- * type {@code Integer} instead of {@code int}).
- *
- * Code Sample Merge dynamic SearchDocument. Header Parameters Request Body Schema
- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge
- * correctly. If you do not set such a property, it will automatically take its default value (for example, {@code
- * 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently stored
- * in the index, even if this was not your intent. For this reason, it is strongly recommended that you always
- * declare primitive-typed properties with their class equivalents (for example, an integer property should be of
- * type {@code Integer} instead of {@code int}).
- *
- * Code Sample Merge dynamic SearchDocument. Response Body Schema
- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge
- * correctly. If you do not set such a property, it will automatically take its default value (for example, {@code
- * 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently stored
- * in the index, even if this was not your intent. For this reason, it is strongly recommended that you always
- * declare primitive-typed properties with their class equivalents (for example, an integer property should be of
- * type {@code Integer} instead of {@code int}).
- *
- * Code Sample Merge or upload dynamic SearchDocument. Query Parameters Header Parameters Response Body Schema
- * If the type of the document contains non-nullable primitive-typed properties, these properties may not merge
- * correctly. If you do not set such a property, it will automatically take its default value (for example, {@code
- * 0} for {@code int} or false for {@code boolean}), which will override the value of the property currently stored
- * in the index, even if this was not your intent. For this reason, it is strongly recommended that you always
- * declare primitive-typed properties with their class equivalents (for example, an integer property should be of
- * type {@code Integer} instead of {@code int}).
- *
- * Code Sample Merge or upload dynamic SearchDocument. Query Parameters Response Body Schema Code Sample Delete dynamic SearchDocument. Request Body Schema Response Body Schema Code Sample Delete dynamic SearchDocument. Request Body Schema Response Body Schema Code Sample Index batch operation on dynamic SearchDocument. Query Parameters Response Body Schema Code Sample Index batch operation on dynamic SearchDocument. Request Body Schema Response Body Schema
- * View naming rules for guidelines on
- * constructing valid document keys.
- *
- * Code Sample Get dynamic SearchDocument.
- * View naming rules for guidelines on
- * constructing valid document keys.
- *
- * Code Sample Get dynamic SearchDocument.
- * View naming rules for guidelines on
- * constructing valid document keys.
- *
- * Code Sample Get dynamic SearchDocument.
- * View naming rules for guidelines on
- * constructing valid document keys.
- *
- * @param options Additional options for retrieving the document.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @param
- * SEARCH_ASYNC_CLIENT.getDocumentCount()
- * .subscribe(count -> System.out.printf("There are %d documents in service.", count));
- *
- *
- *
- * @return the number of documents.
+ * Searches for documents in the index.
+ *
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing search results from an index on successful completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono
- * SEARCH_ASYNC_CLIENT.getDocumentCountWithResponse()
- * .subscribe(countResponse -> {
- * System.out.println("The status code of the response is " + countResponse.getStatusCode());
- * System.out.printf("There are %d documents in service.", countResponse.getValue());
- * });
- *
- *
- *
- * @return response containing the number of documents.
+ * Searches for documents in the index.
+ *
+ * @param options Options for searchPost API.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing search results from an index on successful completion of {@link Mono}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono
- * SearchPagedFlux searchPagedFlux = SEARCH_ASYNC_CLIENT.search("searchText");
- * searchPagedFlux.getTotalCount().subscribe(
- * count -> System.out.printf("There are around %d results.", count));
- *
- * AtomicLong numberOfDocumentsReturned = new AtomicLong();
- * searchPagedFlux.byPage()
- * .takeUntil(page -> {
- * // Reached the $skip limit, stop requesting more documents.
- * return numberOfDocumentsReturned.addAndGet(page.getValue().size()) >= SEARCH_SKIP_LIMIT;
- * })
- * .subscribe(resultResponse -> {
- * for (SearchResult result: resultResponse.getValue()) {
- * SearchDocument searchDocument = result.getDocument(SearchDocument.class);
- * for (Map.Entry<String, Object> keyValuePair: searchDocument.entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(), keyValuePair.getValue());
- * }
- * }
- * });
- *
- *
- *
- * @param searchText A full-text search query expression.
- * @return A {@link SearchPagedFlux} that iterates over {@link SearchResult} objects and provides access to the
- * {@link SearchPagedResponse} object for each page containing HTTP response and count, facet, and coverage
- * information.
- * @see Search documents
- */
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SearchPagedFlux search(String searchText) {
- return this.search(searchText, null, null);
- }
-
- /**
- * Searches for documents in the Azure AI Search index.
- *
- * SearchPagedFlux searchPagedFlux = SEARCH_ASYNC_CLIENT.search("searchText");
- * searchPagedFlux.getTotalCount().subscribe(
- * count -> System.out.printf("There are around %d results.", count));
- *
- * AtomicLong numberOfDocumentsReturned = new AtomicLong();
- * searchPagedFlux.byPage()
- * .takeUntil(page -> {
- * // Reached the $skip limit, stop requesting more documents.
- * return numberOfDocumentsReturned.addAndGet(page.getValue().size()) >= SEARCH_SKIP_LIMIT;
- * })
- * .subscribe(resultResponse -> {
- * for (SearchResult result: resultResponse.getValue()) {
- * SearchDocument searchDocument = result.getDocument(SearchDocument.class);
- * for (Map.Entry<String, Object> keyValuePair: searchDocument.entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(), keyValuePair.getValue());
- * }
- * }
- * });
- *
- *
- *
- * @param searchText A full-text search query expression.
- * @param querySourceAuthorization Token identifying the user for which the query is being executed.
- * This token is used to enforce security restrictions on documents.
- * @return A {@link SearchPagedFlux} that iterates over {@link SearchResult} objects and provides access to the
- * {@link SearchPagedResponse} object for each page containing HTTP response and count, facet, and coverage
- * information.
- * @see Search documents
+ * Retrieves a document from the index.
+ *
+ * @param key The key of the document to retrieve.
+ * @param querySourceAuthorization Token identifying the user for which the query is being executed. This token is
+ * used to enforce security restrictions on documents.
+ * @param enableElevatedRead A value that enables elevated read that bypass document level permission checks for the
+ * query operation.
+ * @param selectedFields List of field names to retrieve for the document; Any field not retrieved will be missing
+ * from the returned document.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a document retrieved via a document lookup operation on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SearchPagedFlux search(String searchText, String querySourceAuthorization) {
- return this.search(searchText, null, querySourceAuthorization, null);
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
- * SearchPagedFlux pagedFlux = SEARCH_ASYNC_CLIENT.search("searchText",
- * new SearchOptions().setOrderBy("hotelId desc"));
- *
- * pagedFlux.getTotalCount().subscribe(count -> System.out.printf("There are around %d results.", count));
- *
- * AtomicLong numberOfDocumentsReturned = new AtomicLong();
- * pagedFlux.byPage()
- * .takeUntil(page -> {
- * // Reached the $skip limit, stop requesting more documents.
- * return numberOfDocumentsReturned.addAndGet(page.getValue().size()) >= SEARCH_SKIP_LIMIT;
- * })
- * .subscribe(searchResultResponse -> searchResultResponse.getValue().forEach(searchDocument -> {
- * for (Map.Entry<String, Object> keyValuePair
- * : searchDocument.getDocument(SearchDocument.class).entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * }));
- *
- *
- *
- * @param searchText A full-text search query expression.
- * @param searchOptions Parameters to further refine the search query
- * @return A {@link SearchPagedFlux} that iterates over {@link SearchResult} objects and provides access to the
- * {@link SearchPagedResponse} object for each page containing HTTP response and count, facet, and coverage
- * information.
- * @see Search documents
+ * Retrieves a document from the index.
+ *
+ * @param key The key of the document to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a document retrieved via a document lookup operation on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SearchPagedFlux search(String searchText, SearchOptions searchOptions) {
- return search(searchText, searchOptions, null);
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
- * SearchPagedFlux pagedFlux = SEARCH_ASYNC_CLIENT.search("searchText",
- * new SearchOptions().setOrderBy("hotelId desc"));
- *
- * pagedFlux.getTotalCount().subscribe(count -> System.out.printf("There are around %d results.", count));
- *
- * AtomicLong numberOfDocumentsReturned = new AtomicLong();
- * pagedFlux.byPage()
- * .takeUntil(page -> {
- * // Reached the $skip limit, stop requesting more documents.
- * return numberOfDocumentsReturned.addAndGet(page.getValue().size()) >= SEARCH_SKIP_LIMIT;
- * })
- * .subscribe(searchResultResponse -> searchResultResponse.getValue().forEach(searchDocument -> {
- * for (Map.Entry<String, Object> keyValuePair
- * : searchDocument.getDocument(SearchDocument.class).entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * }));
- *
- *
- *
- * @param searchText A full-text search query expression.
- * @param searchOptions Parameters to further refine the search query
- * @param querySourceAuthorization Token identifying the user for which the query is being executed.
- * @return A {@link SearchPagedFlux} that iterates over {@link SearchResult} objects and provides access to the
- * {@link SearchPagedResponse} object for each page containing HTTP response and count, facet, and coverage
- * information.
- * @see Search documents
+ * Suggests documents in the index that match the given partial query text.
+ *
+ * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no more than 100
+ * characters.
+ * @param suggesterName The name of the suggester as specified in the suggesters collection that's part of the index
+ * definition.
+ * @param filter An OData expression that filters the documents considered for suggestions.
+ * @param useFuzzyMatching A value indicating whether to use fuzzy matching for the suggestions query. Default is
+ * false. When set to true, the query will find terms even if there's a substituted or missing character in the
+ * search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy
+ * suggestions queries are slower and consume more resources.
+ * @param highlightPostTag A string tag that is appended to hit highlights. Must be set with highlightPreTag. If
+ * omitted, hit highlighting of suggestions is disabled.
+ * @param highlightPreTag A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If
+ * omitted, hit highlighting of suggestions is disabled.
+ * @param minimumCoverage A number between 0 and 100 indicating the percentage of the index that must be covered by
+ * a suggestions query in order for the query to be reported as a success. This parameter can be useful for ensuring
+ * search availability even for services with only one replica. The default is 80.
+ * @param orderBy The list of OData $orderby expressions by which to sort the results. Each expression can be either
+ * a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be
+ * followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will
+ * be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by
+ * document match score. There can be at most 32 $orderby clauses.
+ * @param searchFields The list of field names to search for the specified search text. Target fields must be
+ * included in the specified suggester.
+ * @param select The list of fields to retrieve. If unspecified, only the key field will be included in the results.
+ * @param top The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing suggestion query results from an index on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SearchPagedFlux search(String searchText, SearchOptions searchOptions, String querySourceAuthorization) {
- SearchRequest request = createSearchRequest(searchText, searchOptions);
- // The firstPageResponse shared among all functional calls below.
- // Do not initial new instance directly in func call.
- final SearchFirstPageResponseWrapper firstPageResponse = new SearchFirstPageResponseWrapper();
- Boolean enableElevatedRead = (searchOptions != null) ? searchOptions.isElevatedReadEnabled() : null;
- Function
- * SEARCH_ASYNC_CLIENT.suggest("searchText", "sg")
- * .subscribe(results -> {
- * for (Map.Entry<String, Object> keyValuePair: results.getDocument(SearchDocument.class).entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
- *
- *
- *
- * @param searchText The search text.
- * @param suggesterName The name of the suggester.
- * @return A {@link SuggestPagedFlux} that iterates over {@link SuggestResult} objects and provides access to the
- * {@link SuggestPagedResponse} object for each page containing HTTP response and coverage information.
- * @see Suggestions
+ * Suggests documents in the index that match the given partial query text.
+ *
+ * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no more than 100
+ * characters.
+ * @param suggesterName The name of the suggester as specified in the suggesters collection that's part of the index
+ * definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing suggestion query results from an index on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SuggestPagedFlux suggest(String searchText, String suggesterName) {
- return suggest(searchText, suggesterName, null);
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono
- * SEARCH_ASYNC_CLIENT.suggest("searchText", "sg",
- * new SuggestOptions().setOrderBy("hotelId desc"))
- * .subscribe(results -> {
- * for (Map.Entry<String, Object> keyValuePair: results.getDocument(SearchDocument.class).entrySet()) {
- * System.out.printf("Document key %s, document value %s", keyValuePair.getKey(),
- * keyValuePair.getValue());
- * }
- * });
- *
- *
- *
- * @param searchText The search text.
- * @param suggesterName The name of the suggester.
- * @param suggestOptions Parameters to further refine the suggestion query.
- * @return A {@link SuggestPagedFlux} that iterates over {@link SuggestResult} objects and provides access to the
- * {@link SuggestPagedResponse} object for each page containing HTTP response and coverage information.
- * @see Suggestions
+ * Suggests documents in the index that match the given partial query text.
+ *
+ * @param options Options for suggestPost API.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing suggestion query results from an index on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public SuggestPagedFlux suggest(String searchText, String suggesterName, SuggestOptions suggestOptions) {
- SuggestRequest suggestRequest
- = createSuggestRequest(searchText, suggesterName, Utility.ensureSuggestOptions(suggestOptions));
-
- return new SuggestPagedFlux(() -> withContext(context -> suggest(suggestRequest, context)));
- }
-
- private Mono
- * SEARCH_ASYNC_CLIENT.autocomplete("searchText", "sg")
- * .subscribe(result -> System.out.printf("The complete term is %s", result.getText()));
- *
- *
- *
- * @param searchText search text
- * @param suggesterName suggester name
- * @return auto complete result.
+ * Sends a batch of document write actions to the index.
+ *
+ * @param batch The batch of index actions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response containing the status of operations for all documents in the indexing request on successful
+ * completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public AutocompletePagedFlux autocomplete(String searchText, String suggesterName) {
- return autocomplete(searchText, suggesterName, null);
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono
- * SEARCH_ASYNC_CLIENT.autocomplete("searchText", "sg",
- * new AutocompleteOptions().setAutocompleteMode(AutocompleteMode.ONE_TERM_WITH_CONTEXT))
- * .subscribe(result ->
- * System.out.printf("The complete term is %s", result.getText())
- * );
- *
- *
- *
- * @param searchText search text
- * @param suggesterName suggester name
- * @param autocompleteOptions autocomplete options
- * @return auto complete result.
- */
- public AutocompletePagedFlux autocomplete(String searchText, String suggesterName,
- AutocompleteOptions autocompleteOptions) {
- AutocompleteRequest request = createAutoCompleteRequest(searchText, suggesterName, autocompleteOptions);
-
- return new AutocompletePagedFlux(() -> withContext(context -> autocomplete(request, context)));
- }
-
- AutocompletePagedFlux autocomplete(String searchText, String suggesterName, AutocompleteOptions autocompleteOptions,
- Context context) {
- AutocompleteRequest request = createAutoCompleteRequest(searchText, suggesterName, autocompleteOptions);
-
- return new AutocompletePagedFlux(() -> autocomplete(request, context));
- }
-
- private Mono
- * Overview
- *
- *
- *
- * Getting Started
- *
- *
- *
- * SearchClient searchClient = new SearchClientBuilder()
- * .credential(new AzureKeyCredential("{key}"))
- * .endpoint("{endpoint}")
- * .indexName("{indexName}")
- * .buildClient();
- *
- *
- *
- *
- *
- *
- * Examples
- *
- *
- *
- * Upload a Document
- *
- *
- *
- * List<Hotel> hotels = new ArrayList<>();
- * hotels.add(new Hotel().setHotelId("100"));
- * hotels.add(new Hotel().setHotelId("200"));
- * hotels.add(new Hotel().setHotelId("300"));
- * searchClient.uploadDocuments(hotels);
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#uploadDocuments(Iterable)}.
- *
- *
- *
- * Merge a Document
- *
- *
- *
- * List<Hotel> hotels = new ArrayList<>();
- * hotels.add(new Hotel().setHotelId("100"));
- * hotels.add(new Hotel().setHotelId("200"));
- * searchClient.mergeDocuments(hotels);
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#mergeDocuments(Iterable)}.
- *
- *
- *
- * Delete a Document
- *
- *
- *
- * SearchDocument documentId = new SearchDocument();
- * documentId.put("hotelId", "100");
- * searchClient.deleteDocuments(Collections.singletonList(documentId));
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#deleteDocuments(Iterable)}.
- *
- *
- *
- * Get a Document
- *
- *
- *
- * Hotel hotel = searchClient.getDocument("100", Hotel.class);
- * System.out.printf("Retrieved Hotel %s%n", hotel.getHotelId());
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#getDocument(String, Class)}.
- *
- *
- *
- * Search Documents
- *
- *
- *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "8");
- * searchDocument.put("description", "budget");
- * searchDocument.put("descriptionFr", "motel");
- *
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "9");
- * searchDocument1.put("description", "budget");
- * searchDocument1.put("descriptionFr", "motel");
- *
- * List<SearchDocument> searchDocuments = new ArrayList<>();
- * searchDocuments.add(searchDocument);
- * searchDocuments.add(searchDocument1);
- * searchClient.uploadDocuments(searchDocuments);
- *
- * SearchPagedIterable results = searchClient.search("SearchText");
- * System.out.printf("There are %s results.%n", results.getTotalCount());
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#search(String)}.
- *
- *
- *
- * Make a Suggestion
- *
- *
- *
- * SuggestPagedIterable suggestPagedIterable = searchClient.suggest("searchText", "sg");
- * for (SuggestResult result: suggestPagedIterable) {
- * System.out.printf("The suggested text is %s", result.getText());
- * }
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#suggest(String, String)}.
- *
- *
- *
- * Provide an Autocompletion
- *
- *
- *
- * AutocompletePagedIterable autocompletePagedIterable = searchClient.autocomplete("searchText", "sg");
- * for (AutocompleteItem result: autocompletePagedIterable) {
- * System.out.printf("The complete term is %s", result.getText());
- * }
- *
- *
- *
- *
- * For an asynchronous sample see {@link SearchAsyncClient#autocomplete(String, String)}.
- *
- *
- * @see SearchAsyncClient
- * @see SearchClientBuilder
- * @see com.azure.search.documents
+ * Initializes a new instance of the synchronous SearchClient type.
*/
@ServiceClient(builder = SearchClientBuilder.class)
public final class SearchClient {
- private static final ClientLogger LOGGER = new ClientLogger(SearchClient.class);
+ @Generated
+ private final SearchClientImpl serviceClient;
/**
- * Search REST API Version
+ * Initializes an instance of SearchClient class.
+ *
+ * @param serviceClient the service client implementation.
*/
- private final SearchServiceVersion serviceVersion;
-
- /**
- * The endpoint for the Azure AI Search service.
- */
- private final String endpoint;
-
- /**
- * The name of the Azure AI Search index.
- */
- private final String indexName;
-
- /**
- * The underlying AutoRest client used to interact with the Azure AI Search service
- */
- private final SearchIndexClientImpl restClient;
-
- /**
- * The pipeline that powers this client.
- */
- private final HttpPipeline httpPipeline;
-
- final JsonSerializer serializer;
-
- /**
- * Package private constructor to be used by {@link SearchClientBuilder}
- */
- SearchClient(String endpoint, String indexName, SearchServiceVersion serviceVersion, HttpPipeline httpPipeline,
- JsonSerializer serializer, SearchIndexClientImpl restClient) {
- this.endpoint = endpoint;
- this.indexName = indexName;
- this.serviceVersion = serviceVersion;
- this.httpPipeline = httpPipeline;
- this.serializer = serializer;
- this.restClient = restClient;
- }
-
- /**
- * Gets the name of the Azure AI Search index.
- *
- * @return the indexName value.
- */
- public String getIndexName() {
- return this.indexName;
- }
-
- /**
- * Gets the {@link HttpPipeline} powering this client.
- *
- * @return the pipeline.
- */
- HttpPipeline getHttpPipeline() {
- return this.httpPipeline;
+ @Generated
+ SearchClient(SearchClientImpl serviceClient) {
+ this.serviceClient = serviceClient;
}
/**
- * Gets the endpoint for the Azure AI Search service.
- *
- * @return the endpoint value.
- */
- public String getEndpoint() {
- return this.endpoint;
- }
-
- /**
- * Uploads a collection of documents to the target index.
- *
- *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * IndexDocumentsResult result = SEARCH_CLIENT.uploadDocuments(Collections.singletonList(searchDocument));
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s upload successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * long
+ * }
*
- *
- *
- * @param documents collection of documents to upload to the target Index.
- * @return document index result.
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return a 64-bit integer along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public IndexDocumentsResult uploadDocuments(Iterable> documents) {
- return uploadDocumentsWithResponse(documents, null, Context.NONE).getValue();
+ public Response
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * search String No A full-text search query expression; Use "*" or omit this
+ * parameter to match all documents.
+ * $count Boolean No A value that specifies whether to fetch the total count of
+ * results. Default is false. Setting this value to true may have a performance impact. Note that the count returned
+ * is an approximation.
+ * facet List<String> No The list of facet expressions to apply to the search
+ * query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value
+ * pairs. Call {@link RequestOptions#addQueryParam} to add string to array.
+ * $filter String No The OData $filter expression to apply to the search
+ * query.
+ * highlight List<String> No The list of field names to use for hit
+ * highlights. Only searchable fields can be used for hit highlighting. In the form of "," separated
+ * string.
+ * highlightPostTag String No A string tag that is appended to hit highlights. Must
+ * be set with highlightPreTag. Default is </em>.
+ * highlightPreTag String No A string tag that is prepended to hit highlights. Must
+ * be set with highlightPostTag. Default is <em>.
+ * minimumCoverage Double No A number between 0 and 100 indicating the percentage of
+ * the index that must be covered by a search query in order for the query to be reported as a success. This
+ * parameter can be useful for ensuring search availability even for services with only one replica. The default is
+ * 100.
+ * $orderby List<String> No The list of OData $orderby expressions by which to
+ * sort the results. Each expression can be either a field name or a call to either the geo.distance() or the
+ * search.score() functions. Each expression can be followed by asc to indicate ascending, and desc to indicate
+ * descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy
+ * is specified, the default sort order is descending by document match score. There can be at most 32 $orderby
+ * clauses. In the form of "," separated string.
+ * queryType String No A value that specifies the syntax of the search query. The
+ * default is 'simple'. Use 'full' if your query uses the Lucene query syntax. Allowed values: "simple", "full",
+ * "semantic".
+ * scoringParameter List<String> No The list of parameter values to be used in
+ * scoring functions (for example, referencePointParameter) using the format name-values. For example, if the
+ * scoring profile defines a function with a parameter called 'mylocation' the parameter string would be
+ * "mylocation--122.2,44.8" (without the quotes). Call {@link RequestOptions#addQueryParam} to add string to
+ * array.
+ * scoringProfile String No The name of a scoring profile to evaluate match scores
+ * for matching documents in order to sort the results.
+ * searchFields List<String> No The list of field names to which to scope the
+ * full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names
+ * of each fielded search expression take precedence over any field names listed in this parameter. In the form of
+ * "," separated string.
+ * searchMode String No A value that specifies whether any or all of the search
+ * terms must be matched in order to count the document as a match. Allowed values: "any", "all".
+ * scoringStatistics String No A value that specifies whether we want to calculate
+ * scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower
+ * latency. Allowed values: "local", "global".
+ * sessionId String No A value to be used to create a sticky session, which can help
+ * to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to
+ * target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the
+ * load balancing of the requests across replicas and adversely affect the performance of the search service. The
+ * value used as sessionId cannot start with a '_' character.
+ * $select List<String> No The list of fields to retrieve. If unspecified, all
+ * fields marked as retrievable in the schema are included. In the form of "," separated string.
+ * $skip Integer No The number of search results to skip. This value cannot be
+ * greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this limitation,
+ * consider using $orderby on a totally-ordered key and $filter with a range query instead.
+ * $top Integer No The number of search results to retrieve. This can be used in
+ * conjunction with $skip to implement client-side paging of search results. If results are truncated due to
+ * server-side paging, the response will include a continuation token that can be used to issue another Search
+ * request for the next page of results.
+ * semanticConfiguration String No The name of the semantic configuration that lists
+ * which fields should be used for semantic ranking, captions, highlights, and answers
+ * semanticErrorHandling String No Allows the user to choose whether a semantic call
+ * should fail completely, or to return partial results (default). Allowed values: "partial", "fail".
+ * semanticMaxWaitInMilliseconds Integer No Allows the user to set an upper bound on
+ * the amount of time it takes for semantic enrichment to finish processing before the request fails.
+ * answers String No This parameter is only valid if the query type is `semantic`.
+ * If set, the query returns answers extracted from key passages in the highest ranked documents. The number of
+ * answers returned can be configured by appending the pipe character `|` followed by the `count-<number of
+ * answers>` option after the answers parameter value, such as `extractive|count-3`. Default count is 1. The
+ * confidence threshold can be configured by appending the pipe character `|` followed by the
+ * `threshold-<confidence threshold>` option after the answers parameter value, such as
+ * `extractive|threshold-0.9`. Default threshold is 0.7. The maximum character length of answers can be configured
+ * by appending the pipe character '|' followed by the 'count-<number of maximum character length>', such as
+ * 'extractive|maxcharlength-600'. Allowed values: "none", "extractive".
+ * captions String No This parameter is only valid if the query type is `semantic`.
+ * If set, the query returns captions extracted from key passages in the highest ranked documents. When Captions is
+ * set to `extractive`, highlighting is enabled by default, and can be configured by appending the pipe character
+ * `|` followed by the `highlight-<true/false>` option, such as `extractive|highlight-true`. Defaults to
+ * `None`. The maximum character length of captions can be configured by appending the pipe character '|' followed
+ * by the 'count-<number of maximum character length>', such as 'extractive|maxcharlength-600'. Allowed
+ * values: "none", "extractive".
+ * semanticQuery String No Allows setting a separate search query that will be
+ * solely used for semantic reranking, semantic captions and semantic answers. Is useful for scenarios where there
+ * is a need to use different queries between the base retrieval and ranking phase, and the L2 semantic
+ * phase.
+ * queryRewrites String No When QueryRewrites is set to `generative`, the query
+ * terms are sent to a generate model which will produce 10 (default) rewrites to help increase the recall of the
+ * request. The requested count can be configured by appending the pipe character `|` followed by the
+ * `count-<number of rewrites>` option, such as `generative|count-3`. Defaults to `None`. This parameter is
+ * only valid if the query type is `semantic`. Allowed values: "none", "generative".
+ * debug String No Enables a debugging tool that can be used to further explore your
+ * search results. Allowed values: "disabled", "semantic", "vector", "queryRewrites", "innerHits", "all".
+ * queryLanguage String No The language of the query. Allowed values: "none",
+ * "en-us", "en-gb", "en-in", "en-ca", "en-au", "fr-fr", "fr-ca", "de-de", "es-es", "es-mx", "zh-cn", "zh-tw",
+ * "pt-br", "pt-pt", "it-it", "ja-jp", "ko-kr", "ru-ru", "cs-cz", "nl-be", "nl-nl", "hu-hu", "pl-pl", "sv-se",
+ * "tr-tr", "hi-in", "ar-sa", "ar-eg", "ar-ma", "ar-kw", "ar-jo", "da-dk", "no-no", "bg-bg", "hr-hr", "hr-ba",
+ * "ms-my", "ms-bn", "sl-sl", "ta-in", "vi-vn", "el-gr", "ro-ro", "is-is", "id-id", "th-th", "lt-lt", "uk-ua",
+ * "lv-lv", "et-ee", "ca-es", "fi-fi", "sr-ba", "sr-me", "sr-rs", "sk-sk", "nb-no", "hy-am", "bn-in", "eu-es",
+ * "gl-es", "gu-in", "he-il", "ga-ie", "kn-in", "ml-in", "mr-in", "fa-ae", "pa-in", "te-in", "ur-pk".
+ * speller String No Improve search recall by spell-correcting individual search
+ * query terms. Allowed values: "none", "lexicon".
+ * semanticFields List<String> No The list of field names used for semantic
+ * ranking. In the form of "," separated string.
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * Name Type Required Description
+ * x-ms-query-source-authorization String No Token identifying the user for which
+ * the query is being executed. This token is used to enforce security restrictions on documents.
+ * x-ms-enable-elevated-read Boolean No A value that enables elevated read that
+ * bypass document level permission checks for the query operation.
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * Response<IndexDocumentsResult> resultResponse = SEARCH_CLIENT.uploadDocumentsWithResponse(
- * Collections.singletonList(searchDocument), null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s upload successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * @odata.count: Long (Optional)
+ * @search.coverage: Double (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (Required){
+ * count: Long (Optional)
+ * avg: Double (Optional)
+ * min: Double (Optional)
+ * max: Double (Optional)
+ * sum: Double (Optional)
+ * cardinality: Long (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * @search.answers (Optional): [
+ * (Optional){
+ * score: Double (Optional)
+ * key: String (Optional)
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.debug (Optional): {
+ * queryRewrites (Optional): {
+ * text (Optional): {
+ * inputQuery: String (Optional)
+ * rewrites (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * vectors (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * }
+ * @search.nextPageParameters (Optional): {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * value (Required): [
+ * (Required){
+ * @search.score: double (Required)
+ * @search.rerankerScore: Double (Optional)
+ * @search.rerankerBoostedScore: Double (Optional)
+ * @search.highlights (Optional): {
+ * String (Required): [
+ * String (Required)
+ * ]
+ * }
+ * @search.captions (Optional): [
+ * (Optional){
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.documentDebugInfo (Optional): {
+ * semantic (Optional): {
+ * titleField (Optional): {
+ * name: String (Optional)
+ * state: String(used/unused/partial) (Optional)
+ * }
+ * contentFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * keywordFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * rerankerInput (Optional): {
+ * title: String (Optional)
+ * content: String (Optional)
+ * keywords: String (Optional)
+ * }
+ * }
+ * vectors (Optional): {
+ * subscores (Optional): {
+ * text (Optional): {
+ * searchScore: Double (Optional)
+ * }
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): {
+ * searchScore: Double (Optional)
+ * vectorSimilarity: Double (Optional)
+ * }
+ * }
+ * ]
+ * documentBoost: Double (Optional)
+ * }
+ * }
+ * innerHits (Optional): {
+ * String (Required): [
+ * (Required){
+ * ordinal: Long (Optional)
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): (recursive schema, see String above)
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @odata.nextLink: String (Optional)
+ * @search.semanticPartialResponseReason: String(maxWaitExceeded/capacityOverloaded/transient) (Optional)
+ * @search.semanticPartialResponseType: String(baseResults/rerankedResults) (Optional)
+ * @search.semanticQueryRewritesResultType: String(originalQueryOnly) (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to upload to the target Index.
- * @param options Options that allow specifying document indexing behavior.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @return response containing the document index result.
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing search results from an index along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * Name Type Required Description
+ * x-ms-query-source-authorization String No Token identifying the user for which
+ * the query is being executed. This token is used to enforce security restrictions on documents.
+ * x-ms-enable-elevated-read Boolean No A value that enables elevated read that
+ * bypass document level permission checks for the query operation.
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelName", "merge");
- * IndexDocumentsResult result = SEARCH_CLIENT.mergeDocuments(Collections.singletonList(searchDocument));
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s merge successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged
- * @return document index result
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public IndexDocumentsResult mergeDocuments(Iterable> documents) {
- return mergeDocumentsWithResponse(documents, null, Context.NONE).getValue();
- }
-
- /**
- * Merges a collection of documents with existing documents in the target index.
- *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelName", "test");
- * Response<IndexDocumentsResult> resultResponse = SEARCH_CLIENT.mergeDocumentsWithResponse(
- * Collections.singletonList(searchDocument), null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s merge successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * @odata.count: Long (Optional)
+ * @search.coverage: Double (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (Required){
+ * count: Long (Optional)
+ * avg: Double (Optional)
+ * min: Double (Optional)
+ * max: Double (Optional)
+ * sum: Double (Optional)
+ * cardinality: Long (Optional)
+ * @search.facets (Optional): {
+ * String (Required): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * @search.answers (Optional): [
+ * (Optional){
+ * score: Double (Optional)
+ * key: String (Optional)
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.debug (Optional): {
+ * queryRewrites (Optional): {
+ * text (Optional): {
+ * inputQuery: String (Optional)
+ * rewrites (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * vectors (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * }
+ * }
+ * @search.nextPageParameters (Optional): {
+ * count: Boolean (Optional)
+ * facets (Optional): [
+ * String (Optional)
+ * ]
+ * filter: String (Optional)
+ * highlight (Optional): [
+ * String (Optional)
+ * ]
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * queryType: String(simple/full/semantic) (Optional)
+ * scoringStatistics: String(local/global) (Optional)
+ * sessionId: String (Optional)
+ * scoringParameters (Optional): [
+ * String (Optional)
+ * ]
+ * scoringProfile: String (Optional)
+ * debug: String(disabled/semantic/vector/queryRewrites/innerHits/all) (Optional)
+ * search: String (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * searchMode: String(any/all) (Optional)
+ * queryLanguage: String(none/en-us/en-gb/en-in/en-ca/en-au/fr-fr/fr-ca/de-de/es-es/es-mx/zh-cn/zh-tw/pt-br/pt-pt/it-it/ja-jp/ko-kr/ru-ru/cs-cz/nl-be/nl-nl/hu-hu/pl-pl/sv-se/tr-tr/hi-in/ar-sa/ar-eg/ar-ma/ar-kw/ar-jo/da-dk/no-no/bg-bg/hr-hr/hr-ba/ms-my/ms-bn/sl-sl/ta-in/vi-vn/el-gr/ro-ro/is-is/id-id/th-th/lt-lt/uk-ua/lv-lv/et-ee/ca-es/fi-fi/sr-ba/sr-me/sr-rs/sk-sk/nb-no/hy-am/bn-in/eu-es/gl-es/gu-in/he-il/ga-ie/kn-in/ml-in/mr-in/fa-ae/pa-in/te-in/ur-pk) (Optional)
+ * speller: String(none/lexicon) (Optional)
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * skip: Integer (Optional)
+ * top: Integer (Optional)
+ * semanticConfiguration: String (Optional)
+ * semanticErrorHandling: String(partial/fail) (Optional)
+ * semanticMaxWaitInMilliseconds: Integer (Optional)
+ * semanticQuery: String (Optional)
+ * answers: String(none/extractive) (Optional)
+ * captions: String(none/extractive) (Optional)
+ * queryRewrites: String(none/generative) (Optional)
+ * semanticFields (Optional): [
+ * String (Optional)
+ * ]
+ * vectorQueries (Optional): [
+ * (Optional){
+ * kind: String(vector/text/imageUrl/imageBinary) (Required)
+ * k: Integer (Optional)
+ * fields: String (Optional)
+ * exhaustive: Boolean (Optional)
+ * oversampling: Double (Optional)
+ * weight: Double (Optional)
+ * threshold (Optional): {
+ * kind: String(vectorSimilarity/searchScore) (Required)
+ * }
+ * filterOverride: String (Optional)
+ * perDocumentVectorLimit: Integer (Optional)
+ * }
+ * ]
+ * vectorFilterMode: String(postFilter/preFilter/strictPostFilter) (Optional)
+ * hybridSearch (Optional): {
+ * maxTextRecallSize: Integer (Optional)
+ * countAndFacetMode: String(countRetrievableResults/countAllResults) (Optional)
+ * }
+ * }
+ * value (Required): [
+ * (Required){
+ * @search.score: double (Required)
+ * @search.rerankerScore: Double (Optional)
+ * @search.rerankerBoostedScore: Double (Optional)
+ * @search.highlights (Optional): {
+ * String (Required): [
+ * String (Required)
+ * ]
+ * }
+ * @search.captions (Optional): [
+ * (Optional){
+ * text: String (Optional)
+ * highlights: String (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.documentDebugInfo (Optional): {
+ * semantic (Optional): {
+ * titleField (Optional): {
+ * name: String (Optional)
+ * state: String(used/unused/partial) (Optional)
+ * }
+ * contentFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * keywordFields (Optional): [
+ * (recursive schema, see above)
+ * ]
+ * rerankerInput (Optional): {
+ * title: String (Optional)
+ * content: String (Optional)
+ * keywords: String (Optional)
+ * }
+ * }
+ * vectors (Optional): {
+ * subscores (Optional): {
+ * text (Optional): {
+ * searchScore: Double (Optional)
+ * }
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): {
+ * searchScore: Double (Optional)
+ * vectorSimilarity: Double (Optional)
+ * }
+ * }
+ * ]
+ * documentBoost: Double (Optional)
+ * }
+ * }
+ * innerHits (Optional): {
+ * String (Required): [
+ * (Required){
+ * ordinal: Long (Optional)
+ * vectors (Optional): [
+ * (Optional){
+ * String (Required): (recursive schema, see String above)
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @odata.nextLink: String (Optional)
+ * @search.semanticPartialResponseReason: String(maxWaitExceeded/capacityOverloaded/transient) (Optional)
+ * @search.semanticPartialResponseType: String(baseResults/rerankedResults) (Optional)
+ * @search.semanticQueryRewritesResultType: String(originalQueryOnly) (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged.
- * @param options Options that allow specifying document indexing behavior.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @return response containing the document index result.
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param searchPostRequest The searchPostRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing search results from an index along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * $select List<String> No List of field names to retrieve for the document;
+ * Any field not retrieved will be missing from the returned document. In the form of "," separated
+ * string.
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * Name Type Required Description
+ * x-ms-query-source-authorization String No Token identifying the user for which
+ * the query is being executed. This token is used to enforce security restrictions on documents.
+ * x-ms-enable-elevated-read Boolean No A value that enables elevated read that
+ * bypass document level permission checks for the query operation.
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * IndexDocumentsResult result = SEARCH_CLIENT.mergeOrUploadDocuments(Collections.singletonList(searchDocument));
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s mergeOrUpload successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged, if exists, otherwise uploaded
- * @return document index result
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param key The key of the document to retrieve.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return a document retrieved via a document lookup operation along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public IndexDocumentsResult mergeOrUploadDocuments(Iterable> documents) {
- return mergeOrUploadDocumentsWithResponse(documents, null, Context.NONE).getValue();
+ public Response
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * $filter String No An OData expression that filters the documents considered for
+ * suggestions.
+ * fuzzy Boolean No A value indicating whether to use fuzzy matching for the
+ * suggestions query. Default is false. When set to true, the query will find terms even if there's a substituted or
+ * missing character in the search text. While this provides a better experience in some scenarios, it comes at a
+ * performance cost as fuzzy suggestions queries are slower and consume more resources.
+ * highlightPostTag String No A string tag that is appended to hit highlights. Must
+ * be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled.
+ * highlightPreTag String No A string tag that is prepended to hit highlights. Must
+ * be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled.
+ * minimumCoverage Double No A number between 0 and 100 indicating the percentage of
+ * the index that must be covered by a suggestions query in order for the query to be reported as a success. This
+ * parameter can be useful for ensuring search availability even for services with only one replica. The default is
+ * 80.
+ * $orderby List<String> No The list of OData $orderby expressions by which to
+ * sort the results. Each expression can be either a field name or a call to either the geo.distance() or the
+ * search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate
+ * descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby
+ * is specified, the default sort order is descending by document match score. There can be at most 32 $orderby
+ * clauses. In the form of "," separated string.
+ * searchFields List<String> No The list of field names to search for the
+ * specified search text. Target fields must be included in the specified suggester. In the form of "," separated
+ * string.
+ * $select List<String> No The list of fields to retrieve. If unspecified,
+ * only the key field will be included in the results. In the form of "," separated string.
+ * $top Integer No The number of suggestions to retrieve. The value must be a number
+ * between 1 and 100. The default is 5.
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * Response<IndexDocumentsResult> resultResponse = SEARCH_CLIENT.mergeOrUploadDocumentsWithResponse(
- * Collections.singletonList(searchDocument), null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s mergeOrUpload successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.text: String (Required)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.coverage: Double (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to be merged, if exists, otherwise uploaded
- * @param options Options that allow specifying document indexing behavior.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @return response containing a document index result
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no more than 100
+ * characters.
+ * @param suggesterName The name of the suggester as specified in the suggesters collection that's part of the index
+ * definition.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing suggestion query results from an index along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response
+ * {@code
+ * {
+ * filter: String (Optional)
+ * fuzzy: Boolean (Optional)
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * orderby (Optional): [
+ * String (Optional)
+ * ]
+ * search: String (Required)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * select (Optional): [
+ * String (Optional)
+ * ]
+ * suggesterName: String (Required)
+ * top: Integer (Optional)
+ * }
+ * }
+ *
+ *
+ *
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * IndexDocumentsResult result = SEARCH_CLIENT.deleteDocuments(Collections.singletonList(searchDocument));
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s delete successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.text: String (Required)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * @search.coverage: Double (Optional)
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to delete from the target Index. Fields other than the key are ignored.
- * @return document index result.
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param suggestPostRequest The suggestPostRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing suggestion query results from an index along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public IndexDocumentsResult deleteDocuments(Iterable> documents) {
- return deleteDocumentsWithResponse(documents, null, Context.NONE).getValue();
+ Response
- * SearchDocument searchDocument = new SearchDocument();
- * searchDocument.put("hotelId", "1");
- * searchDocument.put("hotelName", "test");
- * Response<IndexDocumentsResult> resultResponse = SEARCH_CLIENT.deleteDocumentsWithResponse(
- * Collections.singletonList(searchDocument), null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s delete successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * @search.action: String(upload/merge/mergeOrUpload/delete) (Optional)
+ * (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param documents collection of documents to delete from the target Index. Fields other than the key are ignored.
- * @param options Options that allow specifying document indexing behavior.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @return response containing a document index result.
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ *
+ * {@code
+ * {
+ * value (Required): [
+ * (Required){
+ * key: String (Required)
+ * errorMessage: String (Optional)
+ * status: boolean (Required)
+ * statusCode: int (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * @param batch The batch of index actions.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response containing the status of operations for all documents in the indexing request along with
+ * {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * autocompleteMode String No Specifies the mode for Autocomplete. The default is
+ * 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing
+ * auto-completed terms. Allowed values: "oneTerm", "twoTerms", "oneTermWithContext".
+ * $filter String No An OData expression that filters the documents used to produce
+ * completed terms for the Autocomplete result.
+ * fuzzy Boolean No A value indicating whether to use fuzzy matching for the
+ * autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted
+ * or missing character in the search text. While this provides a better experience in some scenarios, it comes at a
+ * performance cost as fuzzy autocomplete queries are slower and consume more resources.
+ * highlightPostTag String No A string tag that is appended to hit highlights. Must
+ * be set with highlightPreTag. If omitted, hit highlighting is disabled.
+ * highlightPreTag String No A string tag that is prepended to hit highlights. Must
+ * be set with highlightPostTag. If omitted, hit highlighting is disabled.
+ * minimumCoverage Double No A number between 0 and 100 indicating the percentage of
+ * the index that must be covered by an autocomplete query in order for the query to be reported as a success. This
+ * parameter can be useful for ensuring search availability even for services with only one replica. The default is
+ * 80.
+ * searchFields List<String> No The list of field names to consider when
+ * querying for auto-completed terms. Target fields must be included in the specified suggester. In the form of ","
+ * separated string.
+ * $top Integer No The number of auto-completed terms to retrieve. This must be a
+ * value between 1 and 100. The default is 5.
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "1");
- * searchDocument1.put("hotelName", "test1");
- * SearchDocument searchDocument2 = new SearchDocument();
- * searchDocument2.put("hotelId", "2");
- * searchDocument2.put("hotelName", "test2");
- * IndexDocumentsBatch<SearchDocument> indexDocumentsBatch = new IndexDocumentsBatch<>();
- * indexDocumentsBatch.addUploadActions(Collections.singletonList(searchDocument1));
- * indexDocumentsBatch.addDeleteActions(Collections.singletonList(searchDocument2));
- * IndexDocumentsResult result = SEARCH_CLIENT.indexDocuments(indexDocumentsBatch);
- * for (IndexingResult indexingResult : result.getResults()) {
- * System.out.printf("Does document with key %s finish successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * @search.coverage: Double (Optional)
+ * value (Required): [
+ * (Required){
+ * text: String (Required)
+ * queryPlusText: String (Required)
+ * }
+ * ]
+ * }
+ * }
*
- *
- *
- * @param batch The batch of index actions
- * @return Response containing the status of operations for all actions in the batch
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ * @param searchText The incomplete term which should be auto-completed.
+ * @param suggesterName The name of the suggester as specified in the suggesters collection that's part of the index
+ * definition.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the result of Autocomplete query along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public IndexDocumentsResult indexDocuments(IndexDocumentsBatch> batch) {
- return indexDocumentsWithResponse(batch, null, Context.NONE).getValue();
+ Response
- * SearchDocument searchDocument1 = new SearchDocument();
- * searchDocument1.put("hotelId", "1");
- * searchDocument1.put("hotelName", "test1");
- * SearchDocument searchDocument2 = new SearchDocument();
- * searchDocument2.put("hotelId", "2");
- * searchDocument2.put("hotelName", "test2");
- * IndexDocumentsBatch<SearchDocument> indexDocumentsBatch = new IndexDocumentsBatch<>();
- * indexDocumentsBatch.addUploadActions(Collections.singletonList(searchDocument1));
- * indexDocumentsBatch.addDeleteActions(Collections.singletonList(searchDocument2));
- * Response<IndexDocumentsResult> resultResponse = SEARCH_CLIENT.indexDocumentsWithResponse(indexDocumentsBatch,
- * null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (IndexingResult indexingResult : resultResponse.getValue().getResults()) {
- * System.out.printf("Does document with key %s finish successfully? %b%n", indexingResult.getKey(),
- * indexingResult.isSucceeded());
- * }
+ * {@code
+ * {
+ * search: String (Required)
+ * autocompleteMode: String(oneTerm/twoTerms/oneTermWithContext) (Optional)
+ * filter: String (Optional)
+ * fuzzy: Boolean (Optional)
+ * highlightPostTag: String (Optional)
+ * highlightPreTag: String (Optional)
+ * minimumCoverage: Double (Optional)
+ * searchFields (Optional): [
+ * String (Optional)
+ * ]
+ * suggesterName: String (Required)
+ * top: Integer (Optional)
+ * }
+ * }
*
- *
- *
- * @param batch The batch of index actions
- * @param options Options that allow specifying document indexing behavior.
- * @param context additional context that is passed through the Http pipeline during the service call
- * @return Response containing the status of operations for all actions in the batch
- * @throws IndexBatchException If some of the indexing actions fail but other actions succeed and modify the state
- * of the index. This can happen when the Search Service is under heavy indexing load. It is important to explicitly
- * catch this exception and check the return value {@link IndexBatchException#getIndexingResults()}. The indexing
- * result reports the status of each indexing action in the batch, making it possible to determine the state of the
- * index after a partial failure.
- * @see Add, update, or
- * delete documents
+ *
+ *
+ * {@code
+ * {
+ * @search.coverage: Double (Optional)
+ * value (Required): [
+ * (Required){
+ * text: String (Required)
+ * queryPlusText: String (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * @param autocompletePostRequest The autocompletePostRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the result of Autocomplete query along with {@link Response}.
*/
+ @Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response
- * SearchDocument result = SEARCH_CLIENT.getDocument("hotelId", SearchDocument.class);
- * for (Map.Entry<String, Object> keyValuePair : result.entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(), keyValuePair.getValue());
- * }
- *
- *
- *
- * @param key The key of the document to retrieve.
- * @param modelClass The model class converts to.
- * @param
- * Response<SearchDocument> resultResponse = SEARCH_CLIENT.getDocumentWithResponse("hotelId",
- * SearchDocument.class, null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (Map.Entry<String, Object> keyValuePair : resultResponse.getValue().entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(), keyValuePair.getValue());
- * }
- *
- *
- *
- * @param
- * Response<SearchDocument> resultResponse = SEARCH_CLIENT.getDocumentWithResponse("hotelId",
- * SearchDocument.class, null, new Context(KEY_1, VALUE_1));
- * System.out.println("The status code of the response is " + resultResponse.getStatusCode());
- * for (Map.Entry<String, Object> keyValuePair : resultResponse.getValue().entrySet()) {
- * System.out.printf("Document key %s, Document value %s", keyValuePair.getKey(), keyValuePair.getValue());
- * }
- *
- *
- *
- * @param