public class ToParentBlockJoinQuery extends Query
IndexWriter.addDocuments() or IndexWriter.updateDocuments() API. In each block, the
child documents must appear first, ending with the parent
document. At search time you provide a Filter
identifying the parents, however this Filter must provide
an BitSet per sub-reader.
Once the block index is built, use this query to wrap any sub-query matching only child docs and join matches in that child document space up to the parent document space. You can then use this Query as a clause with other queries in the parent document space.
See ToChildBlockJoinQuery if you need to join
in the reverse order.
The child documents must be orthogonal to the parent documents: the wrapped child query must never return a parent document.
See org.apache.lucene.search.join for an
overview.
| Constructor and Description |
|---|
ToParentBlockJoinQuery(Query childQuery,
BitSetProducer parentsFilter,
ScoreMode scoreMode)
Create a ToParentBlockJoinQuery.
|
| Modifier and Type | Method and Description |
|---|---|
Weight |
createWeight(IndexSearcher searcher,
ScoreMode weightScoreMode,
float boost) |
boolean |
equals(Object other) |
Query |
getChildQuery()
Return our child query.
|
int |
hashCode() |
Query |
rewrite(IndexReader reader) |
String |
toString(String field) |
classHash, sameClassAs, toStringpublic ToParentBlockJoinQuery(Query childQuery, BitSetProducer parentsFilter, ScoreMode scoreMode)
childQuery - Query matching child documents.parentsFilter - Filter identifying the parent documents.scoreMode - How to aggregate multiple child scores
into a single parent score.public Weight createWeight(IndexSearcher searcher, ScoreMode weightScoreMode, float boost) throws IOException
createWeight in class QueryIOExceptionpublic Query getChildQuery()
public Query rewrite(IndexReader reader) throws IOException
rewrite in class QueryIOExceptionCopyright © 2000-2019 Apache Software Foundation. All Rights Reserved.