Class ConcurrentUpdateSolrClient.Builder
- Enclosing class:
ConcurrentUpdateSolrClient
ConcurrentUpdateSolrClient instances from provided configuration.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected ExecutorServiceprotected intprotected intprotected booleanprotected intFields inherited from class org.apache.solr.client.solrj.apache.SolrClientBuilder
connectionTimeoutMillis, defaultCollection, followRedirects, httpClient, requestWriter, responseParser, socketTimeoutMillis, timeToLiveSeconds, urlParamNames, useMultiPartPost -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionConfigures created clients to always stream delete requests.build()Create aConcurrentUpdateSolrClientbased on the provided configuration options.getThis()The solution for the unchecked cast warning.Configures created clients to not stream delete requests.withExecutorService(ExecutorService executorService) Provides theExecutorServicefor the created client to use when servicing the update-request queue.withPollQueueTime(int pollQueueTime) withQueueSize(int queueSize) The maximum number of requests buffered by the SolrClient's internal queue before being processed by background threads.withThreadCount(int threadCount) The maximum number of threads used to emptyConcurrentUpdateSolrClients queue.Methods inherited from class org.apache.solr.client.solrj.apache.SolrClientBuilder
allowMultiPartPost, getConnectionTimeoutMillis, getSocketTimeoutMillis, withConnectionTimeout, withConnectionTimeout, withDefaultCollection, withFollowRedirects, withHttpClient, withRequestWriter, withResponseParser, withSocketTimeout, withSocketTimeout, withTheseParamNamesInTheUrl
-
Field Details
-
baseSolrUrl
-
queueSize
protected int queueSize -
threadCount
protected int threadCount -
pollQueueTime
protected int pollQueueTime -
executorService
-
streamDeletes
protected boolean streamDeletes
-
-
Constructor Details
-
Builder
Initialize a Builder object, based on the provided Solr URL.The provided URL must point to the root Solr path ("/solr"), for example:
SolrClient client = new ConcurrentUpdateSolrClient.Builder("http://my-solr-server:8983/solr") .withDefaultCollection("core1") .build(); QueryResponse resp = client.query(new SolrQuery("*:*"));
-
-
Method Details
-
withQueueSize
The maximum number of requests buffered by the SolrClient's internal queue before being processed by background threads.This value should be carefully paired with the number of queue-consumer threads. A queue with a maximum size set too high may require more memory. A queue with a maximum size set too low may suffer decreased throughput as
SolrClient.request(SolrRequest)calls block waiting to add requests to the queue.If not set, this defaults to 10.
- See Also:
-
withThreadCount
The maximum number of threads used to emptyConcurrentUpdateSolrClients queue.Threads are created when documents are added to the client's internal queue and exit when no updates remain in the queue.
This value should be carefully paired with the maximum queue capacity. A client with too few threads may suffer decreased throughput as the queue fills up and
SolrClient.request(SolrRequest)calls block waiting to add requests to the queue. -
withPollQueueTime
-
withExecutorService
Provides theExecutorServicefor the created client to use when servicing the update-request queue. -
alwaysStreamDeletes
Configures created clients to always stream delete requests.Streamed deletes are put into the update-queue and executed like any other update request.
-
neverStreamDeletes
Configures created clients to not stream delete requests.With this option set when the created ConcurrentUpdateSolrClient sends a delete request it will first will lock the queue and block until all queued updates have been sent, and then send the delete request.
-
build
Create aConcurrentUpdateSolrClientbased on the provided configuration options. -
getThis
Description copied from class:SolrClientBuilderThe solution for the unchecked cast warning.- Specified by:
getThisin classSolrClientBuilder<ConcurrentUpdateSolrClient.Builder>
-