Class SearchIndexClientBuilder
- java.lang.Object
-
- com.azure.search.documents.indexes.SearchIndexClientBuilder
-
public final class SearchIndexClientBuilder extends Object
This class provides a fluent builder API to help aid the configuration and instantiation ofSearchIndexClients
andSearchIndexAsyncClients
. CallbuildClient
andbuildAsyncClient
respectively to construct an instance of the desired client.The following must be provided to construct a client instance.
- The Azure Cognitive Search service URL.
- An
AzureKeyCredential
that grants access to the Azure Cognitive Search service.
Instantiating an asynchronous Search Index Client
SearchIndexAsyncClient searchIndexAsyncClient = new SearchIndexClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildAsyncClient();
Instantiating a synchronous Search Index Client
SearchIndexClient searchIndexClient = new SearchIndexClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient();
- See Also:
SearchIndexClient
,SearchIndexAsyncClient
-
-
Constructor Summary
Constructors Constructor Description SearchIndexClientBuilder()
Creates a builder instance that is able to configure and constructSearchIndexClients
andSearchIndexAsyncClients
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SearchIndexClientBuilder
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a pipeline policy to apply to each request sent.SearchIndexAsyncClient
buildAsyncClient()
Creates aSearchIndexAsyncClient
based on options set in the Builder.SearchIndexClient
buildClient()
Creates aSearchIndexClient
based on options set in the Builder.SearchIndexClientBuilder
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options such as application ID and custom headers to set on a request.SearchIndexClientBuilder
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration store that is used during construction of the service client.SearchIndexClientBuilder
credential(com.azure.core.credential.AzureKeyCredential credential)
Sets theAzureKeyCredential
used to authenticate HTTP requests.SearchIndexClientBuilder
credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authenticate HTTP requests.SearchIndexClientBuilder
endpoint(String endpoint)
Sets the service endpoint for the Azure Cognitive Search instance.static com.azure.core.http.policy.HttpLogOptions
getDefaultLogOptions()
Gets the default Azure Search headers and query parameters allow list.SearchIndexClientBuilder
httpClient(com.azure.core.http.HttpClient client)
Sets the HTTP client to use for sending requests and receiving responses.SearchIndexClientBuilder
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the logging configuration for HTTP requests and responses.SearchIndexClientBuilder
pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets the HTTP pipeline to use for the service client.SearchIndexClientBuilder
retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
Sets theHttpPipelinePolicy
that will attempt to retry requests when needed.SearchIndexClientBuilder
serializer(com.azure.core.util.serializer.JsonSerializer jsonSerializer)
Custom JSON serializer that is used to handle model types that are not contained in the Azure Search Documents library.SearchIndexClientBuilder
serviceVersion(SearchServiceVersion serviceVersion)
Sets theSearchServiceVersion
that is used when making API requests.
-
-
-
Constructor Detail
-
SearchIndexClientBuilder
public SearchIndexClientBuilder()
Creates a builder instance that is able to configure and constructSearchIndexClients
andSearchIndexAsyncClients
.
-
-
Method Detail
-
buildClient
public SearchIndexClient buildClient()
Creates aSearchIndexClient
based on options set in the Builder. Every timebuildClient()
is called a new instance ofSearchIndexClient
is created.If
pipeline
is set, then only thepipeline
andendpoint
are used to create theclient
. All other builder settings are ignored.- Returns:
- A SearchIndexClient with the options set from the builder.
- Throws:
NullPointerException
- Ifendpoint
arenull
.
-
buildAsyncClient
public SearchIndexAsyncClient buildAsyncClient()
Creates aSearchIndexAsyncClient
based on options set in the Builder. Every timebuildAsyncClient()
is called a new instance ofSearchIndexAsyncClient
is created.If
pipeline
is set, then only thepipeline
andendpoint
are used to create theclient
. All other builder settings are ignored.- Returns:
- A SearchIndexAsyncClient with the options set from the builder.
- Throws:
NullPointerException
- Ifendpoint
arenull
.
-
endpoint
public SearchIndexClientBuilder endpoint(String endpoint)
Sets the service endpoint for the Azure Cognitive Search instance.- Parameters:
endpoint
- The URL of the Azure Cognitive Search instance.- Returns:
- The updated SearchIndexClientBuilder object.
- Throws:
IllegalArgumentException
- Ifendpoint
is null or it cannot be parsed into a valid URL.
-
credential
public SearchIndexClientBuilder credential(com.azure.core.credential.AzureKeyCredential credential)
Sets theAzureKeyCredential
used to authenticate HTTP requests.- Parameters:
credential
- TheAzureKeyCredential
used to authenticate HTTP requests.- Returns:
- The updated SearchIndexClientBuilder object.
-
credential
public SearchIndexClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authenticate HTTP requests.- Parameters:
credential
- TheTokenCredential
used to authenticate HTTP requests.- Returns:
- The updated SearchIndexClientBuilder object.
-
httpLogOptions
public SearchIndexClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the logging configuration for HTTP requests and responses.If logging configurations aren't provided HTTP requests and responses won't be logged.
- Parameters:
logOptions
- The logging configuration for HTTP requests and responses.- Returns:
- The updated SearchIndexClientBuilder object.
-
getDefaultLogOptions
public static com.azure.core.http.policy.HttpLogOptions getDefaultLogOptions()
Gets the default Azure Search headers and query parameters allow list.- Returns:
- The default
HttpLogOptions
allow list.
-
clientOptions
public SearchIndexClientBuilder clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options such as application ID and custom headers to set on a request.- Parameters:
clientOptions
- The client options.- Returns:
- The updated SearchIndexClientBuilder object.
-
addPolicy
public SearchIndexClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a pipeline policy to apply to each request sent.This method may be called multiple times, each time it is called the policy will be added to the end of added policy list. All policies will be added after the retry policy.
- Parameters:
policy
- The pipeline policies to added to the policy list.- Returns:
- The updated SearchIndexClientBuilder object.
- Throws:
NullPointerException
- Ifpolicy
isnull
.
-
serializer
public SearchIndexClientBuilder serializer(com.azure.core.util.serializer.JsonSerializer jsonSerializer)
Custom JSON serializer that is used to handle model types that are not contained in the Azure Search Documents library.- Parameters:
jsonSerializer
- The serializer to serialize user defined models.- Returns:
- The updated SearchIndexClientBuilder object.
-
httpClient
public SearchIndexClientBuilder httpClient(com.azure.core.http.HttpClient client)
Sets the HTTP client to use for sending requests and receiving responses.- Parameters:
client
- The HTTP client that will handle sending requests and receiving responses.- Returns:
- The updated SearchIndexClientBuilder object.
-
pipeline
public SearchIndexClientBuilder pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets the HTTP pipeline to use for the service client.If
pipeline
is set, all other settings are ignored, aside fromendpoint
when building aSearchIndexClient
orSearchIndexAsyncClient
.- Parameters:
httpPipeline
- The HTTP pipeline to use for sending service requests and receiving responses.- Returns:
- The updated SearchIndexClientBuilder object.
-
configuration
public SearchIndexClientBuilder configuration(com.azure.core.util.Configuration configuration)
Sets the configuration store that is used during construction of the service client.The default configuration store is a clone of the
global configuration store
, useConfiguration.NONE
to bypass using configuration settings during construction.- Parameters:
configuration
- The configuration store that will be used.- Returns:
- The updated SearchIndexClientBuilder object.
-
retryPolicy
public SearchIndexClientBuilder retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
Sets theHttpPipelinePolicy
that will attempt to retry requests when needed.A default retry policy will be supplied if one isn't provided.
- Parameters:
retryPolicy
- TheRetryPolicy
that will attempt to retry requests when needed.- Returns:
- The updated SearchIndexClientBuilder object.
-
serviceVersion
public SearchIndexClientBuilder serviceVersion(SearchServiceVersion serviceVersion)
Sets theSearchServiceVersion
that is used when making API requests.If a service version is not provided,
SearchServiceVersion.getLatest()
will be used as a default. When this default is used updating to a newer client library may result in a newer version of the service being used.- Parameters:
serviceVersion
- The version of the service to be used when making requests.- Returns:
- The updated SearchIndexClientBuilder object.
-
-