Class SearchClientBuilder
- java.lang.Object
-
- com.azure.search.documents.SearchClientBuilder
-
public final class SearchClientBuilder extends Object
This class provides a fluent builder API to help aid the configuration and instantiation ofSearchClients
andSearchAsyncClients
. 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. - The search index name.
Instantiating an asynchronous Search Client
SearchAsyncClient searchAsyncClient = new SearchClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .indexName("{indexName}") .buildAsyncClient();
Instantiating a synchronous Search Client
SearchClient searchClient = new SearchClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .indexName("{indexName}") .buildClient();
- See Also:
SearchClient
,SearchAsyncClient
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SearchClientBuilder.SearchIndexingBufferedSenderBuilder<T>
This class provides a fluent builder API to help aid the configuration and instantiation ofSearchIndexingBufferedSenders
andSearchIndexingBufferedAsyncSenders
.
-
Constructor Summary
Constructors Constructor Description SearchClientBuilder()
Creates a builder instance that is able to configure and constructSearchClients
andSearchAsyncClients
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SearchClientBuilder
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a pipeline policy to apply to each request sent.<T> SearchClientBuilder.SearchIndexingBufferedSenderBuilder<T>
bufferedSender(com.azure.core.util.serializer.TypeReference<T> documentType)
Create a new instance ofSearchClientBuilder.SearchIndexingBufferedSenderBuilder
used to configureSearchIndexingBufferedSenders
andSearchIndexingBufferedAsyncSenders
.SearchAsyncClient
buildAsyncClient()
Creates aSearchAsyncClient
based on options set in the builder.SearchClient
buildClient()
Creates aSearchClient
based on options set in the builder.SearchClientBuilder
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options such as application ID and custom headers to set on a request.SearchClientBuilder
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration store that is used during construction of the service client.SearchClientBuilder
credential(com.azure.core.credential.AzureKeyCredential credential)
Sets theAzureKeyCredential
used to authenticate HTTP requests.SearchClientBuilder
credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authenticate HTTP requests.SearchClientBuilder
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.SearchClientBuilder
httpClient(com.azure.core.http.HttpClient client)
Sets the HTTP client to use for sending requests and receiving responses.SearchClientBuilder
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the logging configuration for HTTP requests and responses.SearchClientBuilder
indexName(String indexName)
Sets the name of the index.SearchClientBuilder
pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets the HTTP pipeline to use for the service client.SearchClientBuilder
retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
Sets theHttpPipelinePolicy
that will attempt to retry requests when needed.SearchClientBuilder
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.SearchClientBuilder
serviceVersion(SearchServiceVersion serviceVersion)
Sets theSearchServiceVersion
that is used when making API requests.
-
-
-
Constructor Detail
-
SearchClientBuilder
public SearchClientBuilder()
Creates a builder instance that is able to configure and constructSearchClients
andSearchAsyncClients
.
-
-
Method Detail
-
buildClient
public SearchClient buildClient()
Creates aSearchClient
based on options set in the builder. Every timebuildClient()
is called a new instance ofSearchClient
is created.If
pipeline
is set, then only thepipeline
,endpoint
, andindexName
are used to create theclient
. All other builder settings are ignored.- Returns:
- A SearchClient with the options set from the builder.
- Throws:
NullPointerException
- IfindexName
orendpoint
are null.
-
buildAsyncClient
public SearchAsyncClient buildAsyncClient()
Creates aSearchAsyncClient
based on options set in the builder. Every timebuildAsyncClient()
is called a new instance ofSearchAsyncClient
is created.If
pipeline
is set, then only thepipeline
,endpoint
, andindexName
are used to create theclient
. All other builder settings are ignored.- Returns:
- A SearchClient with the options set from the builder.
- Throws:
NullPointerException
- IfindexName
orendpoint
are null.
-
bufferedSender
public <T> SearchClientBuilder.SearchIndexingBufferedSenderBuilder<T> bufferedSender(com.azure.core.util.serializer.TypeReference<T> documentType)
Create a new instance ofSearchClientBuilder.SearchIndexingBufferedSenderBuilder
used to configureSearchIndexingBufferedSenders
andSearchIndexingBufferedAsyncSenders
.- Type Parameters:
T
- The type of the document that the buffered sender will use.- Parameters:
documentType
- TheTypeReference
representing the document type associated with the sender.- Returns:
- A new instance of
SearchClientBuilder.SearchIndexingBufferedSenderBuilder
.
-
endpoint
public SearchClientBuilder 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 SearchClientBuilder object.
- Throws:
IllegalArgumentException
- Ifendpoint
is null or it cannot be parsed into a valid URL.
-
credential
public SearchClientBuilder 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 SearchClientBuilder object.
-
credential
public SearchClientBuilder 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 SearchClientBuilder object.
-
indexName
public SearchClientBuilder indexName(String indexName)
Sets the name of the index.- Parameters:
indexName
- Name of the index.- Returns:
- The updated SearchClientBuilder object.
- Throws:
IllegalArgumentException
- IfindexName
is null or empty.
-
httpLogOptions
public SearchClientBuilder 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 SearchClientBuilder 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 SearchClientBuilder 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 SearchClientBuilder object.
-
addPolicy
public SearchClientBuilder 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 SearchClientBuilder object.
- Throws:
NullPointerException
- Ifpolicy
is null.
-
serializer
public SearchClientBuilder 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 SearchClientBuilder object.
-
httpClient
public SearchClientBuilder 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 SearchClientBuilder object.
-
pipeline
public SearchClientBuilder 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
andindex
when building aSearchClient
orSearchAsyncClient
.- Parameters:
httpPipeline
- The HTTP pipeline to use for sending service requests and receiving responses.- Returns:
- The updated SearchClientBuilder object.
-
configuration
public SearchClientBuilder 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 SearchClientBuilder object.
-
retryPolicy
public SearchClientBuilder 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 SearchClientBuilder object.
-
serviceVersion
public SearchClientBuilder 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 the default is used, updating to a newer client library may implicitly use a newer version of the service.- Parameters:
serviceVersion
- The version of the service to be used when making requests.- Returns:
- The updated SearchClientBuilder object.
-
-