Class SearchClientBuilder


  • public final class SearchClientBuilder
    extends Object
    This class provides a fluent builder API to help aid the configuration and instantiation of SearchClients and SearchAsyncClients. Call buildClient and buildAsyncClient 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
    • Constructor Detail

      • SearchClientBuilder

        public SearchClientBuilder()
        Creates a builder instance that is able to configure and construct SearchClients and SearchAsyncClients.
    • Method Detail

      • buildClient

        public SearchClient buildClient()
        Creates a SearchClient based on options set in the builder. Every time buildClient() is called a new instance of SearchClient is created.

        If pipeline is set, then only the pipeline, endpoint, and indexName are used to create the client. All other builder settings are ignored.

        Returns:
        A SearchClient with the options set from the builder.
        Throws:
        NullPointerException - If indexName or endpoint are null.
      • 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 - If endpoint is null or it cannot be parsed into a valid URL.
      • credential

        public SearchClientBuilder credential​(com.azure.core.credential.AzureKeyCredential credential)
        Sets the AzureKeyCredential used to authenticate HTTP requests.
        Parameters:
        credential - The AzureKeyCredential used to authenticate HTTP requests.
        Returns:
        The updated SearchClientBuilder object.
      • credential

        public SearchClientBuilder credential​(com.azure.core.credential.TokenCredential credential)
        Sets the TokenCredential used to authenticate HTTP requests.
        Parameters:
        credential - The TokenCredential 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 - If indexName 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 - If policy 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 from endpoint and index when building a SearchClient or SearchAsyncClient.

        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, use Configuration.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 the HttpPipelinePolicy that will attempt to retry requests when needed.

        A default retry policy will be supplied if one isn't provided.

        Parameters:
        retryPolicy - The RetryPolicy that will attempt to retry requests when needed.
        Returns:
        The updated SearchClientBuilder object.
      • serviceVersion

        public SearchClientBuilder serviceVersion​(SearchServiceVersion serviceVersion)
        Sets the SearchServiceVersion 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.