public class HttpSolrClient extends SolrClient
SolrClient client = new HttpSolrClient("http://my-solr-server:8983/solr/core1"); QueryResponse resp = client.query(new SolrQuery("*:*"));In this case, you can query the given core directly, but you cannot query any other cores or issue CoreAdmin requests with this client. 2) Pass the base URL of the node to the constructor
SolrClient client = new HttpSolrClient("http://my-solr-server:8983/solr"); QueryResponse resp = client.query("core1", new SolrQuery("*:*"));In this case, you must pass the name of the required core for all queries and updates, but you may use the same client for all cores, and for CoreAdmin requests.
Modifier and Type | Class and Description |
---|---|
static class |
HttpSolrClient.Builder
Constructs
HttpSolrClient instances from provided configuration. |
static class |
HttpSolrClient.HttpUriRequestResponse |
static class |
HttpSolrClient.RemoteSolrException
Subclass of SolrException that allows us to capture an arbitrary HTTP
status code that may have been returned by the remote server or a
proxy along the way.
|
Modifier and Type | Field and Description |
---|---|
static String |
AGENT
User-Agent String.
|
protected String |
baseUrl
The URL of the Solr server.
|
protected ModifiableSolrParams |
invariantParams
Default value: null / empty.
|
protected ResponseParser |
parser
Default response parser is BinaryResponseParser
|
protected RequestWriter |
requestWriter
The RequestWriter used to write all requests to Solr
|
Modifier | Constructor and Description |
---|---|
|
HttpSolrClient(String baseURL)
Deprecated.
use
HttpSolrClient.Builder instead. |
|
HttpSolrClient(String baseURL,
org.apache.http.client.HttpClient client)
Deprecated.
use
HttpSolrClient.Builder instead. |
|
HttpSolrClient(String baseURL,
org.apache.http.client.HttpClient client,
ResponseParser parser)
Deprecated.
use
HttpSolrClient.Builder instead. |
|
HttpSolrClient(String baseURL,
org.apache.http.client.HttpClient client,
ResponseParser parser,
boolean allowCompression)
Deprecated.
use
HttpSolrClient.Builder instead. This will soon be a 'protected'
method, and will only be available for use in implementing subclasses. |
protected |
HttpSolrClient(String baseURL,
org.apache.http.client.HttpClient client,
ResponseParser parser,
boolean allowCompression,
ModifiableSolrParams invariantParams)
The consturctor.
|
Modifier and Type | Method and Description |
---|---|
protected ModifiableSolrParams |
calculateQueryParams(Set<String> queryParamNames,
ModifiableSolrParams wparams) |
void |
close()
Close the
ClientConnectionManager from the internal client. |
protected org.apache.http.client.methods.HttpRequestBase |
createMethod(SolrRequest request,
String collection) |
protected NamedList<Object> |
executeMethod(org.apache.http.client.methods.HttpRequestBase method,
ResponseParser processor) |
String |
getBaseURL() |
org.apache.http.client.HttpClient |
getHttpClient()
Return the HttpClient this instance uses.
|
ModifiableSolrParams |
getInvariantParams()
Retrieve the default list of parameters are added to every request
regardless.
|
ResponseParser |
getParser() |
Set<String> |
getQueryParams() |
HttpSolrClient.HttpUriRequestResponse |
httpUriRequest(SolrRequest request) |
HttpSolrClient.HttpUriRequestResponse |
httpUriRequest(SolrRequest request,
ResponseParser processor) |
boolean |
isUseMultiPartPost() |
NamedList<Object> |
request(SolrRequest request,
ResponseParser processor) |
NamedList<Object> |
request(SolrRequest request,
ResponseParser processor,
String collection) |
NamedList<Object> |
request(SolrRequest request,
String collection)
Process the request.
|
void |
setAllowCompression(boolean allowCompression)
Allow server->client communication to be compressed.
|
void |
setBaseURL(String baseURL) |
void |
setConnectionTimeout(int timeout)
HttpConnectionParams.setConnectionTimeout
|
void |
setDefaultMaxConnectionsPerHost(int max)
Set the maximum number of connections that can be open to a single host at
any given time.
|
void |
setFollowRedirects(boolean followRedirects)
Configure whether the client should follow redirects or not.
|
void |
setMaxTotalConnections(int max)
Set the maximum number of connections that can be open at any given time.
|
void |
setParser(ResponseParser processor)
Note: This setter method is not thread-safe.
|
void |
setQueryParams(Set<String> queryParams)
Expert Method
|
void |
setRequestWriter(RequestWriter requestWriter) |
void |
setSoTimeout(int timeout)
Set SoTimeout (read timeout).
|
void |
setUseMultiPartPost(boolean useMultiPartPost)
Set the multipart connection properties
|
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, request, rollback, rollback
public static final String AGENT
protected volatile String baseUrl
protected ModifiableSolrParams invariantParams
Parameters that are added to every request regardless. This may be a place to add something like an authentication token.
protected volatile ResponseParser parser
This parser represents the default Response Parser chosen to parse the response if the parser were not specified as part of the request.
BinaryResponseParser
protected volatile RequestWriter requestWriter
RequestWriter
@Deprecated public HttpSolrClient(String baseURL)
HttpSolrClient.Builder
instead.baseURL
- The URL of the Solr server. For example, "
http://localhost:8983/solr/
" if you are using the
standard distribution Solr webapp on your local machine.@Deprecated public HttpSolrClient(String baseURL, org.apache.http.client.HttpClient client)
HttpSolrClient.Builder
instead.@Deprecated public HttpSolrClient(String baseURL, org.apache.http.client.HttpClient client, ResponseParser parser)
HttpSolrClient.Builder
instead.@Deprecated public HttpSolrClient(String baseURL, org.apache.http.client.HttpClient client, ResponseParser parser, boolean allowCompression)
HttpSolrClient.Builder
instead. This will soon be a 'protected'
method, and will only be available for use in implementing subclasses.protected HttpSolrClient(String baseURL, org.apache.http.client.HttpClient client, ResponseParser parser, boolean allowCompression, ModifiableSolrParams invariantParams)
baseURL
- The base url to communicate with the Solr serverclient
- Http client instance to use for communicationparser
- Response parser instance to use to decode response from Solr serverallowCompression
- Should compression be allowed ?invariantParams
- The parameters which should be included with every request.public void setQueryParams(Set<String> queryParams)
queryParams
- set of param keys to only send via the query string
Note that the param will be sent as a query string if the key is part
of this Set or the SolrRequest's query params.SolrRequest.getQueryParams()
public NamedList<Object> request(SolrRequest request, String collection) throws SolrServerException, IOException
SolrRequest.getResponseParser()
is
null, then use getParser()
request
in class SolrClient
request
- The SolrRequest
to processcollection
- the collection to execute the request againstNamedList
resultIOException
- If there is a low-level I/O error.SolrServerException
- if there is an error on the serverrequest(org.apache.solr.client.solrj.SolrRequest,
org.apache.solr.client.solrj.ResponseParser)
public NamedList<Object> request(SolrRequest request, ResponseParser processor) throws SolrServerException, IOException
SolrServerException
IOException
public NamedList<Object> request(SolrRequest request, ResponseParser processor, String collection) throws SolrServerException, IOException
SolrServerException
IOException
public HttpSolrClient.HttpUriRequestResponse httpUriRequest(SolrRequest request) throws SolrServerException, IOException
SolrServerException
IOException
public HttpSolrClient.HttpUriRequestResponse httpUriRequest(SolrRequest request, ResponseParser processor) throws SolrServerException, IOException
SolrServerException
IOException
protected ModifiableSolrParams calculateQueryParams(Set<String> queryParamNames, ModifiableSolrParams wparams)
protected org.apache.http.client.methods.HttpRequestBase createMethod(SolrRequest request, String collection) throws IOException, SolrServerException
IOException
SolrServerException
protected NamedList<Object> executeMethod(org.apache.http.client.methods.HttpRequestBase method, ResponseParser processor) throws SolrServerException
SolrServerException
public ModifiableSolrParams getInvariantParams()
invariantParams
public String getBaseURL()
public void setBaseURL(String baseURL)
public ResponseParser getParser()
public void setParser(ResponseParser processor)
processor
- Default Response Parser chosen to parse the response if the parser
were not specified as part of the request.SolrRequest.getResponseParser()
public org.apache.http.client.HttpClient getHttpClient()
public void setConnectionTimeout(int timeout)
timeout
- Timeout in millisecondspublic void setSoTimeout(int timeout)
timeout
- Timeout in millisecondspublic void setFollowRedirects(boolean followRedirects)
This defaults to false under the assumption that if you are following a redirect to get to a Solr installation, something is misconfigured somewhere.
public void setAllowCompression(boolean allowCompression)
public void setRequestWriter(RequestWriter requestWriter)
public void close() throws IOException
ClientConnectionManager
from the internal client.IOException
public void setDefaultMaxConnectionsPerHost(int max)
public void setMaxTotalConnections(int max)
public boolean isUseMultiPartPost()
public void setUseMultiPartPost(boolean useMultiPartPost)
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.