Class UpdateStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.UpdateStream
-
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,Expressible,org.apache.solr.common.MapSerializable,org.apache.solr.common.MapWriter,org.apache.solr.common.NavigableObject,org.noggit.JSONWriter.Writable
- Direct Known Subclasses:
DeleteStream
public class UpdateStream extends TupleStream implements Expressible
Sends tuples emitted by a wrappedTupleStreamas updates to a SolrCloud collection.- Since:
- 6.0.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
-
Field Summary
Fields Modifier and Type Field Description static StringBATCH_INDEXED_FIELD_NAME
-
Constructor Summary
Constructors Constructor Description UpdateStream(String collectionName, TupleStream tupleSource, String zkHost, int updateBatchSize)UpdateStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<TupleStream>children()voidclose()protected booleandefaultPruneVersionField()Used during initialization to specify the default value for the"pruneVersionField"option.protected org.apache.solr.client.solrj.impl.CloudSolrClientgetCloudSolrClient()Only viable after callingopen()protected StringgetCollectionName()The name of the collection being updatedStreamComparatorgetStreamSort()voidopen()Tupleread()voidsetStreamContext(StreamContext context)ExplanationtoExplanation(StreamFactory factory)Returns an explanation about the stream objectStreamExpressiontoExpression(StreamFactory factory)protected voiduploadBatchToCollection(List<org.apache.solr.common.SolrInputDocument> documentBatch)This method will be called on every batch of tuples comsumed, after converting each tuple in that batch to a Solr Input Document.-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getCost, getShards, getShards, getStreamNodeId, writeMap
-
-
-
-
Field Detail
-
BATCH_INDEXED_FIELD_NAME
public static String BATCH_INDEXED_FIELD_NAME
-
-
Constructor Detail
-
UpdateStream
public UpdateStream(StreamExpression expression, StreamFactory factory) throws IOException
- Throws:
IOException
-
UpdateStream
public UpdateStream(String collectionName, TupleStream tupleSource, String zkHost, int updateBatchSize) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getCollectionName
protected String getCollectionName()
The name of the collection being updated
-
open
public void open() throws IOException- Specified by:
openin classTupleStream- Throws:
IOException
-
read
public Tuple read() throws IOException
- Specified by:
readin classTupleStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classTupleStream- Throws:
IOException
-
getStreamSort
public StreamComparator getStreamSort()
- Specified by:
getStreamSortin classTupleStream
-
children
public List<TupleStream> children()
- Specified by:
childrenin classTupleStream
-
toExpression
public StreamExpression toExpression(StreamFactory factory) throws IOException
- Specified by:
toExpressionin interfaceExpressible- Throws:
IOException
-
toExplanation
public Explanation toExplanation(StreamFactory factory) throws IOException
Description copied from interface:ExpressibleReturns an explanation about the stream object- Specified by:
toExplanationin interfaceExpressible- Specified by:
toExplanationin classTupleStream- Parameters:
factory- Stream factory for this, contains information about the function name- Returns:
- Explanation about this stream object containing explanations of any child stream objects
- Throws:
IOException- throw on any error
-
setStreamContext
public void setStreamContext(StreamContext context)
- Specified by:
setStreamContextin classTupleStream
-
defaultPruneVersionField
protected boolean defaultPruneVersionField()
Used during initialization to specify the default value for the"pruneVersionField"option.UpdateStreamreturnstruefor backcompat and to simplify slurping of data from one collection to another.
-
getCloudSolrClient
protected org.apache.solr.client.solrj.impl.CloudSolrClient getCloudSolrClient()
Only viable after callingopen()
-
uploadBatchToCollection
protected void uploadBatchToCollection(List<org.apache.solr.common.SolrInputDocument> documentBatch) throws IOException
This method will be called on every batch of tuples comsumed, after converting each tuple in that batch to a Solr Input Document.- Throws:
IOException
-
-