Package org.apache.solr.client.solrj.request

# Class UpdateRequest

java.lang.Object
org.apache.solr.client.solrj.SolrRequest<UpdateResponse>
org.apache.solr.client.solrj.request.CollectionRequiringSolrRequest<UpdateResponse>
org.apache.solr.client.solrj.request.AbstractUpdateRequest
org.apache.solr.client.solrj.request.UpdateRequest

All Implemented Interfaces:
  `Serializable`

public class UpdateRequest extends AbstractUpdateRequest

Since:
  solr 1.3
See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.solr.client.solrj.request.AbstractUpdateRequest

`AbstractUpdateRequest.ACTION`

## Nested classes/interfaces inherited from class org.apache.solr.client.solrj.SolrRequest

`SolrRequest.ApiVersion, SolrRequest.METHOD, SolrRequest.SolrClientContext, SolrRequest.SolrRequestType`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`COMMIT_WITHIN`
`static final String`
`OVERWRITE`
`static final String`
`REPFACT`
`static final String`
`VER`

### Fields inherited from class org.apache.solr.client.solrj.request.AbstractUpdateRequest

`commitWithin, params`

### Fields inherited from class org.apache.solr.client.solrj.SolrRequest

`SUPPORTED_METHODS`

## Constructor Summary

Constructors
Constructor
Description
`UpdateRequest()`
`UpdateRequest(String url)`

## Method Summary

Modifier and Type
Method
Description
`UpdateRequest`
`add(String... fields)`
`UpdateRequest`
`add(Collection<SolrInputDocument> docs)`
Add a collection of SolrInputDocuments to this request
`UpdateRequest`
`add(SolrInputDocument doc)`
Add a SolrInputDocument to this request
`UpdateRequest`
`add(SolrInputDocument doc, Boolean overwrite)`
Add a SolrInputDocument to this request
`UpdateRequest`
`add(SolrInputDocument doc, Integer commitWithin)`
Add a SolrInputDocument to this request
`UpdateRequest`
`add(SolrInputDocument doc, Integer commitWithin, Boolean overwrite)`
Add a SolrInputDocument to this request
`void`
`clear()`
clear the pending documents and delete commands
`UpdateResponse`
`commit(SolrClient client, String collection)`
`UpdateRequest`
`deleteById(String id)`
`UpdateRequest`
`deleteById(String id, Long version)`
`UpdateRequest`
`deleteById(String id, String route)`
`UpdateRequest`
`deleteById(String id, String route, Long version)`
`UpdateRequest`
`deleteById(List<String> ids)`
`UpdateRequest`
`deleteByQuery(String q)`
`List<String>`
`getDeleteById()`
`Map<String,Map<String,Object>>`
`getDeleteByIdMap()`
`List<String>`
`getDeleteQuery()`
`Iterator<SolrInputDocument>`
`getDocIterator()`
`List<SolrInputDocument>`
`getDocuments()`
`Map<SolrInputDocument,Map<String,Object>>`
`getDocumentsMap()`
`Map<String,LBSolrClient.Req>`
`getRoutesToCollection(DocRouter router, DocCollection col, Map<String,List<String>> urlMap, ModifiableSolrParams params, String idField)`
`boolean`
`isLastDocInBatch()`
`boolean`
`isSendToLeaders()`
`void`
`lastDocInBatch()`
`void`
`setDeleteQuery(List<String> deleteQuery)`
`void`
`setDocIterator(Iterator<SolrInputDocument> docIterator)`
`UpdateRequest`
`setSendToLeaders(boolean sendToLeaders)`
`UpdateRequest`
`withRoute(String route)`

### Methods inherited from class org.apache.solr.client.solrj.request.AbstractUpdateRequest

`createResponse, getAction, getCommitWithin, getParams, isWaitSearcher, rollback, setAction, setAction, setAction, setAction, setAction, setAction, setAction, setCommitWithin, setParam, setParams, setWaitSearcher`

### Methods inherited from class org.apache.solr.client.solrj.request.CollectionRequiringSolrRequest

`requiresCollection`

### Methods inherited from class org.apache.solr.client.solrj.SolrRequest

`addHeader, addHeaders, getApiVersion, getBasicAuthPassword, getBasicAuthUser, getCollection, getContentStreams, getContentWriter, getHeaders, getMethod, getPath, getPreferredNodes, getQueryParams, getRequestType, getResponseParser, getStreamingResponseCallback, getUserPrincipal, process, process, processWithBaseUrl, setBasicAuthCredentials, setMethod, setPath, setPreferredNodes, setQueryParams, setRequestType, setResponseParser, setStreamingResponseCallback, setUserPrincipal`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### REPFACT

public static final String REPFACT

See Also:
  - Constant Field Values

### VER

public static final String VER

See Also:
  - Constant Field Values

### OVERWRITE

public static final String OVERWRITE

See Also:
  - Constant Field Values

### COMMIT_WITHIN

public static final String COMMIT_WITHIN

See Also:
  - Constant Field Values

## Constructor Details

### UpdateRequest

public UpdateRequest()

### UpdateRequest

public UpdateRequest(String url)

## Method Details

### clear

public void clear()
clear the pending documents and delete commands

### add

public UpdateRequest add(SolrInputDocument doc)
Add a SolrInputDocument to this request

Throws:
  `NullPointerException` - if the document is null

### add

public UpdateRequest add(String... fields)

### add

public UpdateRequest add(SolrInputDocument doc, Boolean overwrite)
Add a SolrInputDocument to this request

Parameters:
  `doc` - the document
  `overwrite` - true if the document should overwrite existing docs with the same id
Throws:
  `NullPointerException` - if the document is null

### add

public UpdateRequest add(SolrInputDocument doc, Integer commitWithin)
Add a SolrInputDocument to this request

Parameters:
  `doc` - the document
  `commitWithin` - the time horizon by which the document should be committed (in ms)
Throws:
  `NullPointerException` - if the document is null

### add

public UpdateRequest add(SolrInputDocument doc, Integer commitWithin, Boolean overwrite)
Add a SolrInputDocument to this request

Parameters:
  `doc` - the document
  `commitWithin` - the time horizon by which the document should be committed (in ms)
  `overwrite` - true if the document should overwrite existing docs with the same id
Throws:
  `NullPointerException` - if the document is null

### add

public UpdateRequest add(Collection<SolrInputDocument> docs)
Add a collection of SolrInputDocuments to this request

Throws:
  `NullPointerException` - if any of the documents in the collection are null

### deleteById

public UpdateRequest deleteById(String id)

### deleteById

public UpdateRequest deleteById(String id, String route)

### deleteById

public UpdateRequest deleteById(String id, String route, Long version)

### deleteById

public UpdateRequest deleteById(List<String> ids)

### deleteById

public UpdateRequest deleteById(String id, Long version)

### deleteByQuery

public UpdateRequest deleteByQuery(String q)

### withRoute

public UpdateRequest withRoute(String route)

### commit

public UpdateResponse commit(SolrClient client, String collection) throws IOException, SolrServerException

Throws:
  `IOException`
  `SolrServerException`

### getRoutesToCollection

public Map<String,LBSolrClient.Req> getRoutesToCollection(DocRouter router, DocCollection col, Map<String,List<String>> urlMap, ModifiableSolrParams params, String idField)

Parameters:
  `router` - to route updates with
  `col` - DocCollection for the updates
  `urlMap` - of the cluster
  `params` - params to use
  `idField` - the id field
Returns:
  a Map of urls to requests

### setDocIterator

public void setDocIterator(Iterator<SolrInputDocument> docIterator)

### setDeleteQuery

public void setDeleteQuery(List<String> deleteQuery)

### getDocuments

public List<SolrInputDocument> getDocuments()

### getDocumentsMap

public Map<SolrInputDocument,Map<String,Object>> getDocumentsMap()

### getDocIterator

public Iterator<SolrInputDocument> getDocIterator()

### getDeleteById

public List<String> getDeleteById()

### getDeleteByIdMap

public Map<String,Map<String,Object>> getDeleteByIdMap()

### getDeleteQuery

public List<String> getDeleteQuery()

### isLastDocInBatch

public boolean isLastDocInBatch()

### lastDocInBatch

public void lastDocInBatch()

### isSendToLeaders

public boolean isSendToLeaders()

### setSendToLeaders

public UpdateRequest setSendToLeaders(boolean sendToLeaders)