public class ToChildBlockJoinQuery extends Query
ToParentBlockJoinQuery
, except this
query joins in reverse: you provide a Query matching
parent documents and it joins down to child
documents.Modifier and Type | Class and Description |
---|---|
(package private) static class |
ToChildBlockJoinQuery.ToChildBlockJoinScorer |
private static class |
ToChildBlockJoinQuery.ToChildBlockJoinWeight |
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
ILLEGAL_ADVANCE_ON_PARENT |
(package private) static java.lang.String |
INVALID_QUERY_MESSAGE
Message thrown from
ToChildBlockJoinQuery.ToChildBlockJoinScorer.validateParentDoc() on mis-use,
when the parent query incorrectly returns child docs. |
private Query |
origParentQuery |
private Query |
parentQuery |
private BitSetProducer |
parentsFilter |
Modifier | Constructor and Description |
---|---|
|
ToChildBlockJoinQuery(Query parentQuery,
BitSetProducer parentsFilter)
Create a ToChildBlockJoinQuery.
|
private |
ToChildBlockJoinQuery(Query origParentQuery,
Query parentQuery,
BitSetProducer parentsFilter) |
Modifier and Type | Method and Description |
---|---|
Weight |
createWeight(IndexSearcher searcher,
boolean needsScores)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(java.lang.Object other)
Override and implement query instance equivalence properly in a subclass.
|
private boolean |
equalsTo(ToChildBlockJoinQuery other) |
Query |
getParentQuery()
Return our parent query.
|
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
Query |
rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
|
java.lang.String |
toString(java.lang.String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
classHash, sameClassAs, toString
static final java.lang.String INVALID_QUERY_MESSAGE
ToChildBlockJoinQuery.ToChildBlockJoinScorer.validateParentDoc()
on mis-use,
when the parent query incorrectly returns child docs.static final java.lang.String ILLEGAL_ADVANCE_ON_PARENT
private final BitSetProducer parentsFilter
private final Query parentQuery
private final Query origParentQuery
public ToChildBlockJoinQuery(Query parentQuery, BitSetProducer parentsFilter)
parentQuery
- Query that matches parent documentsparentsFilter
- Filter identifying the parent documents.private ToChildBlockJoinQuery(Query origParentQuery, Query parentQuery, BitSetProducer parentsFilter)
public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws java.io.IOException
Query
Only implemented by primitive queries, which re-write to themselves.
createWeight
in class Query
needsScores
- True if document scores (Scorer.score()
) or match
frequencies (Scorer.freq()
) are needed.java.io.IOException
public Query getParentQuery()
public Query rewrite(IndexReader reader) throws java.io.IOException
Query
public java.lang.String toString(java.lang.String field)
Query
field
assumed to be the
default field and omitted.public boolean equals(java.lang.Object other)
Query
QueryCache
works properly.
Typically a query will be equal to another only if it's an instance of
the same class and its document-filtering properties are identical that other
instance. Utility methods are provided for certain repetitive code.equals
in class Query
Query.sameClassAs(Object)
,
Query.classHash()
private boolean equalsTo(ToChildBlockJoinQuery other)
public int hashCode()
Query
QueryCache
works properly.hashCode
in class Query
Query.equals(Object)