Package org.apache.solr.client.solrj
Class SolrRequest<T extends SolrResponse>
- java.lang.Object
-
- org.apache.solr.client.solrj.SolrRequest<T>
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AbstractSchemaRequest,AbstractUpdateRequest,AliasesApi.DeleteAlias,AliasesApi.GetAliasByName,AliasesApi.GetAliases,AliasPropertiesApi.CreateOrUpdateAliasProperty,AliasPropertiesApi.DeleteAliasProperty,AliasPropertiesApi.GetAliasProperty,AliasPropertiesApi.GetAllAliasProperties,AliasPropertiesApi.UpdateAliasProperties,ClusterApi.BalanceReplicas,CollectionAdminRequest,CollectionBackupsApi.DeleteMultipleBackupsByRecency,CollectionBackupsApi.DeleteSingleBackupById,CollectionBackupsApi.GarbageCollectUnusedBackupFiles,CollectionBackupsApi.ListBackupsAtLocation,CollectionsApi.DeleteCollection,CollectionsApi.ListCollections,CollectionsApi.ReloadCollection,CollectionsApi.RenameCollection,ConfigSetAdminRequest,ConfigsetsApi.ListConfigSet,CoreAdminRequest,DelegationTokenRequest,DirectXmlRequest,DocumentAnalysisRequest,FieldAnalysisRequest,GenericSolrRequest,HealthCheckRequest,LukeRequest,NodeApi.DeleteNode,NodeApi.GetPublicKey,NodeApi.ReplaceNode,QueryRequest,ReplicaPropertiesApi.AddReplicaProperty,ReplicaPropertiesApi.DeleteReplicaProperty,ReplicasApi.DeleteReplicaByName,ReplicasApi.DeleteReplicasByCount,ReplicasApi.DeleteReplicasByCountAllShards,ShardsApi.ForceShardLeader,ShardsApi.SyncShard,SolrPing,V2Request
public abstract class SolrRequest<T extends SolrResponse> extends Object implements Serializable
- Since:
- solr 1.3
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSolrRequest.METHODstatic classSolrRequest.SolrClientContextstatic classSolrRequest.SolrRequestType
-
Field Summary
Fields Modifier and Type Field Description static Set<String>SUPPORTED_METHODSprotected booleanuseBinaryV2protected booleanusev2
-
Constructor Summary
Constructors Constructor Description SolrRequest(SolrRequest.METHOD m, String path)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddHeader(String key, String value)voidaddHeaders(Map<String,String> headers)protected abstract TcreateResponse(SolrClient client)Create a new SolrResponse to hold the response from the serverStringgetBasePath()StringgetBasicAuthPassword()StringgetBasicAuthUser()StringgetCollection()Collection<ContentStream>getContentStreams()Deprecated.Please usegetContentWriter(String)instead.RequestWriter.ContentWritergetContentWriter(String expectedType)If a request object wants to do a push write, implement this method.Map<String,String>getHeaders()SolrRequest.METHODgetMethod()abstract SolrParamsgetParams()StringgetPath()List<String>getPreferredNodes()Set<String>getQueryParams()Parameter keys that are sent via the query stringabstract StringgetRequestType()This method defines the type of this Solr request.ResponseParsergetResponseParser()StreamingResponseCallbackgetStreamingResponseCallback()PrincipalgetUserPrincipal()Tprocess(SolrClient client)Send this request to aSolrClientand return the responseTprocess(SolrClient client, String collection)Send this request to aSolrClientand return the responsevoidsetBasePath(String path)SolrRequest<T>setBasicAuthCredentials(String user, String password)voidsetMethod(SolrRequest.METHOD method)voidsetPath(String path)SolrRequest<T>setPreferredNodes(List<String> nodes)voidsetQueryParams(Set<String> queryParams)voidsetResponseParser(ResponseParser responseParser)Optionally specify how the Response should be parsed.voidsetStreamingResponseCallback(StreamingResponseCallback callback)SolrRequest<T>setUseBinaryV2(boolean flag)If set to true use javabin instead of json (default)voidsetUserPrincipal(Principal userPrincipal)SolrRequest<T>setUseV2(boolean flag)If set to true, every request that implementsV2RequestSupportwill be converted to a V2 API call
-
-
-
Constructor Detail
-
SolrRequest
public SolrRequest(SolrRequest.METHOD m, String path)
-
-
Method Detail
-
setUserPrincipal
public void setUserPrincipal(Principal userPrincipal)
-
getUserPrincipal
public Principal getUserPrincipal()
-
setUseV2
public SolrRequest<T> setUseV2(boolean flag)
If set to true, every request that implementsV2RequestSupportwill be converted to a V2 API call
-
setUseBinaryV2
public SolrRequest<T> setUseBinaryV2(boolean flag)
If set to true use javabin instead of json (default)
-
setPreferredNodes
public SolrRequest<T> setPreferredNodes(List<String> nodes)
-
setBasicAuthCredentials
public SolrRequest<T> setBasicAuthCredentials(String user, String password)
-
getBasicAuthUser
public String getBasicAuthUser()
-
getBasicAuthPassword
public String getBasicAuthPassword()
-
getMethod
public SolrRequest.METHOD getMethod()
-
setMethod
public void setMethod(SolrRequest.METHOD method)
-
getPath
public String getPath()
-
setPath
public void setPath(String path)
-
getResponseParser
public ResponseParser getResponseParser()
- Returns:
- The
ResponseParser
-
setResponseParser
public void setResponseParser(ResponseParser responseParser)
Optionally specify how the Response should be parsed. Not all server implementations require a ResponseParser to be specified.- Parameters:
responseParser- TheResponseParser
-
getStreamingResponseCallback
public StreamingResponseCallback getStreamingResponseCallback()
-
setStreamingResponseCallback
public void setStreamingResponseCallback(StreamingResponseCallback callback)
-
getQueryParams
public Set<String> getQueryParams()
Parameter keys that are sent via the query string
-
getRequestType
public abstract String getRequestType()
This method defines the type of this Solr request.
-
getParams
public abstract SolrParams getParams()
-
getContentStreams
@Deprecated public Collection<ContentStream> getContentStreams() throws IOException
Deprecated.Please usegetContentWriter(String)instead.- Throws:
IOException
-
getContentWriter
public RequestWriter.ContentWriter getContentWriter(String expectedType)
If a request object wants to do a push write, implement this method.- Parameters:
expectedType- This is the type that the RequestWriter would like to get. But, it is OK to send any format
-
createResponse
protected abstract T createResponse(SolrClient client)
Create a new SolrResponse to hold the response from the server- Parameters:
client- theSolrClientthe request will be sent to
-
process
public final T process(SolrClient client, String collection) throws SolrServerException, IOException
Send this request to aSolrClientand return the response- Parameters:
client- the SolrClient to communicate withcollection- the collection to execute the request against- Returns:
- the response
- Throws:
SolrServerException- if there is an error on the Solr serverIOException- if there is a communication error
-
process
public final T process(SolrClient client) throws SolrServerException, IOException
Send this request to aSolrClientand return the response- Parameters:
client- the SolrClient to communicate with- Returns:
- the response
- Throws:
SolrServerException- if there is an error on the Solr serverIOException- if there is a communication error
-
getCollection
public String getCollection()
-
setBasePath
public void setBasePath(String path)
-
getBasePath
public String getBasePath()
-
-