Class DeepRandomStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.DeepRandomStream
-
- 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
public class DeepRandomStream 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 classDeepRandomStream.StreamOpenerprotected classDeepRandomStream.TupleWrapper-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.solr.client.solrj.impl.CloudSolrClientcloudSolrClientprotected Stringcollectionprotected StreamComparatorcompprotected Map<String,Tuple>eofTuplesprotected Map<String,String>fieldMappingsprotected org.apache.solr.common.params.ModifiableSolrParamsparamsprotected List<TupleStream>solrStreamsprotected StreamContextstreamContextprotected Deque<DeepRandomStream.TupleWrapper>tuplesprotected StringzkHost
-
Constructor Summary
Constructors Constructor Description DeepRandomStream()DeepRandomStream(String zkHost, String collectionName, org.apache.solr.common.params.SolrParams params)DeepRandomStream(StreamExpression expression, StreamFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Tuple_read()protected org.apache.solr.common.params.ModifiableSolrParamsadjustParams(org.apache.solr.common.params.ModifiableSolrParams params)List<TupleStream>children()voidclose()protected voidconstructStreams()StreamComparatorgetStreamSort()Return the stream sort - ie, the order in which records are returnedvoidopen()Tupleread()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, getShards, getStreamNodeId, writeMap
-
-
-
-
Field Detail
-
zkHost
protected String zkHost
-
collection
protected String collection
-
params
protected org.apache.solr.common.params.ModifiableSolrParams params
-
comp
protected StreamComparator comp
-
cloudSolrClient
protected transient org.apache.solr.client.solrj.impl.CloudSolrClient cloudSolrClient
-
solrStreams
protected transient List<TupleStream> solrStreams
-
tuples
protected transient Deque<DeepRandomStream.TupleWrapper> tuples
-
streamContext
protected transient StreamContext streamContext
-
-
Constructor Detail
-
DeepRandomStream
public DeepRandomStream()
-
DeepRandomStream
public DeepRandomStream(String zkHost, String collectionName, org.apache.solr.common.params.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
-
DeepRandomStream
public DeepRandomStream(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 IOException- Specified by:
openin classTupleStream- Throws:
IOException
-
children
public List<TupleStream> children()
- Specified by:
childrenin classTupleStream
-
constructStreams
protected void constructStreams() throws IOException- 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()
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 org.apache.solr.common.params.ModifiableSolrParams adjustParams(org.apache.solr.common.params.ModifiableSolrParams params)
-
-