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
,MapSerializable
,MapWriter
,NavigableObject
- Direct Known Subclasses:
DeleteStream
public class UpdateStream extends TupleStream implements Expressible
Sends tuples emitted by a wrappedTupleStream
as 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
-
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter
MapWriter.EntryWriter
-
-
Field Summary
Fields Modifier and Type Field Description static String
BATCH_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()
void
close()
protected boolean
defaultPruneVersionField()
Used during initialization to specify the default value for the"pruneVersionField"
option.protected CloudSolrClient
getCloudSolrClient()
Only viable after callingopen()
protected String
getCollectionName()
The name of the collection being updatedStreamComparator
getStreamSort()
void
open()
Tuple
read()
void
setStreamContext(StreamContext context)
Explanation
toExplanation(StreamFactory factory)
Returns an explanation about the stream objectStreamExpression
toExpression(StreamFactory factory)
protected void
uploadBatchToCollection(List<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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr
-
-
-
-
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:
open
in classTupleStream
- Throws:
IOException
-
read
public Tuple read() throws IOException
- Specified by:
read
in classTupleStream
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classTupleStream
- Throws:
IOException
-
getStreamSort
public StreamComparator getStreamSort()
- Specified by:
getStreamSort
in classTupleStream
-
children
public List<TupleStream> children()
- Specified by:
children
in classTupleStream
-
toExpression
public StreamExpression toExpression(StreamFactory factory) throws IOException
- Specified by:
toExpression
in interfaceExpressible
- Throws:
IOException
-
toExplanation
public Explanation toExplanation(StreamFactory factory) throws IOException
Description copied from interface:Expressible
Returns an explanation about the stream object- Specified by:
toExplanation
in interfaceExpressible
- Specified by:
toExplanation
in 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:
setStreamContext
in classTupleStream
-
defaultPruneVersionField
protected boolean defaultPruneVersionField()
Used during initialization to specify the default value for the"pruneVersionField"
option.UpdateStream
returnstrue
for backcompat and to simplify slurping of data from one collection to another.
-
getCloudSolrClient
protected CloudSolrClient getCloudSolrClient()
Only viable after callingopen()
-
uploadBatchToCollection
protected void uploadBatchToCollection(List<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
-
-