Class HashJoinStream

java.lang.Object
org.apache.solr.client.solrj.io.stream.TupleStream
org.apache.solr.client.solrj.io.stream.HashJoinStream
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:
OuterHashJoinStream

public class HashJoinStream extends TupleStream implements Expressible
Takes two streams (fullStream and hashStream) and joins them similar to an InnerJoinStream. The difference in a HashJoinStream is that the tuples in the hashStream will all be read and hashed when this stream is opened. This provides a few optimizations iff the hashStream has a relatively small number of documents. You are expected to provide a set of fields for which the hash will be calculated from. If a tuple does not contain a value (ie, null) for one of the fields the hash is being computed on then that tuple will not be considered a match to anything. Ie, all fields which are part of the hash must have a non-null value.
Since:
6.0.0
See Also: