Class ConcurrentUpdateSolrClient
- java.lang.Object
-
- org.apache.solr.client.solrj.SolrClient
-
- org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient
-
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
public class ConcurrentUpdateSolrClient extends SolrClient
ConcurrentUpdateSolrClient buffers all added documents and writes them into open HTTP connections. This class is thread safe. Params fromUpdateRequest
are converted to http request parameters. When params change between UpdateRequests a new HTTP request is started. Although any SolrClient request can be made with this implementation, it is only recommended to use ConcurrentUpdateSolrClient with /update requests. The classHttpSolrClient
is better suited for the query interface.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ConcurrentUpdateSolrClient.Builder
ConstructsConcurrentUpdateSolrClient
instances from provided configuration.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConcurrentUpdateSolrClient(String solrServerUrl, org.apache.http.client.HttpClient client, int queueSize, int threadCount, ExecutorService es, boolean streamDeletes)
Deprecated.useConcurrentUpdateSolrClient(Builder)
instead, as it is a more extension/subclassing-friendly alternativeprotected
ConcurrentUpdateSolrClient(ConcurrentUpdateSolrClient.Builder builder)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
blockUntilFinished()
void
close()
Set<String>
getQueryParams()
void
handleError(Throwable ex)
void
onSuccess(org.apache.http.HttpResponse resp)
Intended to be used as an extension point for doing post processing after a request completes.NamedList<Object>
request(SolrRequest request, String collection)
Execute a request against a Solr server for a given collectionvoid
setConnectionTimeout(int timeout)
Deprecated.since 7.0 UseConcurrentUpdateSolrClient.Builder
methods instead.void
setParser(ResponseParser responseParser)
void
setPollQueueTime(int pollQueueTime)
void
setQueryParams(Set<String> queryParams)
Expert Method.void
setRequestWriter(RequestWriter requestWriter)
void
setSoTimeout(int timeout)
Deprecated.since 7.0 UseConcurrentUpdateSolrClient.Builder
methods instead.void
shutdownNow()
-
Methods inherited from class org.apache.solr.client.solrj.SolrClient
add, add, add, add, add, add, add, add, add, add, addBean, addBean, addBean, addBean, addBeans, addBeans, addBeans, addBeans, addBeans, addBeans, commit, commit, commit, commit, commit, commit, deleteById, deleteById, deleteById, deleteById, deleteById, deleteById, deleteById, deleteById, deleteByQuery, deleteByQuery, deleteByQuery, deleteByQuery, getBinder, getById, getById, getById, getById, getById, getById, getById, getById, optimize, optimize, optimize, optimize, optimize, optimize, ping, query, query, query, query, queryAndStreamResponse, queryAndStreamResponse, queryAndStreamResponse, request, rollback, rollback
-
-
-
-
Constructor Detail
-
ConcurrentUpdateSolrClient
@Deprecated protected ConcurrentUpdateSolrClient(String solrServerUrl, org.apache.http.client.HttpClient client, int queueSize, int threadCount, ExecutorService es, boolean streamDeletes)
Deprecated.useConcurrentUpdateSolrClient(Builder)
instead, as it is a more extension/subclassing-friendly alternativeUses the supplied HttpClient to send documents to the Solr server.
-
ConcurrentUpdateSolrClient
protected ConcurrentUpdateSolrClient(ConcurrentUpdateSolrClient.Builder builder)
-
-
Method Detail
-
setQueryParams
public void setQueryParams(Set<String> queryParams)
Expert Method.- Parameters:
queryParams
- set of param keys to only send via the query string
-
request
public NamedList<Object> request(SolrRequest request, String collection) throws SolrServerException, IOException
Description copied from class:SolrClient
Execute a request against a Solr server for a given collection- Specified by:
request
in classSolrClient
- Parameters:
request
- the request to executecollection
- the collection to execute the request against- Returns:
- a
NamedList
containing the response from the server - Throws:
SolrServerException
- if there is an error on the serverIOException
- If there is a low-level I/O error.
-
blockUntilFinished
public void blockUntilFinished()
-
handleError
public void handleError(Throwable ex)
-
onSuccess
public void onSuccess(org.apache.http.HttpResponse resp)
Intended to be used as an extension point for doing post processing after a request completes.
-
close
public void close()
-
setConnectionTimeout
@Deprecated public void setConnectionTimeout(int timeout)
Deprecated.since 7.0 UseConcurrentUpdateSolrClient.Builder
methods instead.
-
setSoTimeout
@Deprecated public void setSoTimeout(int timeout)
Deprecated.since 7.0 UseConcurrentUpdateSolrClient.Builder
methods instead.set soTimeout (read timeout) on the underlying HttpConnectionManager. This is desirable for queries, but probably not for indexing.
-
shutdownNow
public void shutdownNow()
-
setParser
public void setParser(ResponseParser responseParser)
-
setPollQueueTime
public void setPollQueueTime(int pollQueueTime)
- Parameters:
pollQueueTime
- time for an open connection to wait for updates when the queue is empty.
-
setRequestWriter
public void setRequestWriter(RequestWriter requestWriter)
-
-