Class CloudSolrStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.CloudSolrStream
-
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,Expressible,MapSerializable,MapWriter,NavigableObject
- Direct Known Subclasses:
ParallelStream,ShuffleStream,TopicStream
public class CloudSolrStream extends TupleStream implements Expressible
Connects to Zookeeper to pick replicas from a specific collection to send the query to. Under the covers the SolrStream instances send the query to the replicas. SolrStreams are opened using a thread pool, but a single thread is used to iterate and merge Tuples from each SolrStream.- Since:
- 5.1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classCloudSolrStream.StreamOpenerprotected classCloudSolrStream.TupleWrapper-
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 protected CloudSolrClientcloudSolrClientprotected Stringcollectionprotected StreamComparatorcompprotected Map<String,Tuple>eofTuplesprotected Map<String,String>fieldMappingsprotected ModifiableSolrParamsparamsprotected List<TupleStream>solrStreamsprotected StreamContextstreamContextprotected TreeSet<CloudSolrStream.TupleWrapper>tuplesprotected StringzkHost
-
Constructor Summary
Constructors Modifier Constructor Description protectedCloudSolrStream()CloudSolrStream(String zkHost, String collectionName, SolrParams params)CloudSolrStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Tuple_read()protected ModifiableSolrParamsadjustParams(ModifiableSolrParams params)List<TupleStream>children()voidclose()Closes the CloudSolrStreamprotected voidconstructStreams()MapgetEofTuples()static Slice[]getSlices(String collectionName, ZkStateReader zkStateReader, boolean checkAlias)StreamComparatorgetStreamSort()Return the stream sort - ie, the order in which records are returnedvoidopen()Opens the CloudSolrStreamTupleread()voidsetFieldMappings(Map<String,String> fieldMappings)voidsetStreamContext(StreamContext context)voidsetTrace(boolean trace)ExplanationtoExplanation(StreamFactory factory)Returns an explanation about the stream objectStreamExpressiontoExpression(StreamFactory factory)-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getCost, 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
-
zkHost
protected String zkHost
-
collection
protected String collection
-
params
protected ModifiableSolrParams params
-
comp
protected StreamComparator comp
-
cloudSolrClient
protected transient CloudSolrClient cloudSolrClient
-
solrStreams
protected transient List<TupleStream> solrStreams
-
tuples
protected transient TreeSet<CloudSolrStream.TupleWrapper> tuples
-
streamContext
protected transient StreamContext streamContext
-
-
Constructor Detail
-
CloudSolrStream
protected CloudSolrStream()
-
CloudSolrStream
public CloudSolrStream(String zkHost, String collectionName, SolrParams params) throws IOException
- Parameters:
zkHost- Zookeeper ensemble connection stringcollectionName- Name of the collection to operate onparams- Map<String, String[]> of parameter/value pairs- Throws:
IOException- Something went wrong
-
CloudSolrStream
public CloudSolrStream(StreamExpression expression, StreamFactory factory) throws IOException
- Throws:
IOException
-
-
Method Detail
-
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
-
setTrace
public void setTrace(boolean trace)
-
setStreamContext
public void setStreamContext(StreamContext context)
- Specified by:
setStreamContextin classTupleStream
-
open
public void open() throws IOExceptionOpens the CloudSolrStream- Specified by:
openin classTupleStream- Throws:
IOException
-
getEofTuples
public Map getEofTuples()
-
children
public List<TupleStream> children()
- Specified by:
childrenin classTupleStream
-
getSlices
public static Slice[] getSlices(String collectionName, ZkStateReader zkStateReader, boolean checkAlias) throws IOException
- Throws:
IOException
-
constructStreams
protected void constructStreams() throws IOException- Throws:
IOException
-
close
public void close() throws IOExceptionCloses the CloudSolrStream- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classTupleStream- Throws:
IOException
-
getStreamSort
public StreamComparator getStreamSort()
Return the stream sort - ie, the order in which records are returned- Specified by:
getStreamSortin classTupleStream
-
read
public Tuple read() throws IOException
- Specified by:
readin classTupleStream- Throws:
IOException
-
_read
protected Tuple _read() throws IOException
- Throws:
IOException
-
adjustParams
protected ModifiableSolrParams adjustParams(ModifiableSolrParams params)
-
-