public class XToParentBlockJoinQuery
extends org.apache.lucene.search.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 |
|---|
XToParentBlockJoinQuery(org.apache.lucene.search.Query childQuery,
org.apache.lucene.search.join.BitSetProducer parentsFilter,
org.apache.lucene.search.join.ScoreMode scoreMode)
Create a ToParentBlockJoinQuery.
|
| Modifier and Type | Method and Description |
|---|---|
org.apache.lucene.search.Weight |
createWeight(org.apache.lucene.search.IndexSearcher searcher,
boolean needsScores) |
boolean |
equals(java.lang.Object other) |
org.apache.lucene.search.Query |
getChildQuery()
Return our child query.
|
int |
hashCode() |
org.apache.lucene.search.Query |
rewrite(org.apache.lucene.index.IndexReader reader) |
java.lang.String |
toString(java.lang.String field) |
public XToParentBlockJoinQuery(org.apache.lucene.search.Query childQuery,
org.apache.lucene.search.join.BitSetProducer parentsFilter,
org.apache.lucene.search.join.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 org.apache.lucene.search.Weight createWeight(org.apache.lucene.search.IndexSearcher searcher,
boolean needsScores)
throws java.io.IOException
createWeight in class org.apache.lucene.search.Queryjava.io.IOExceptionpublic org.apache.lucene.search.Query getChildQuery()
public org.apache.lucene.search.Query rewrite(org.apache.lucene.index.IndexReader reader)
throws java.io.IOException
rewrite in class org.apache.lucene.search.Queryjava.io.IOExceptionpublic java.lang.String toString(java.lang.String field)
toString in class org.apache.lucene.search.Querypublic boolean equals(java.lang.Object other)
equals in class org.apache.lucene.search.Querypublic int hashCode()
hashCode in class org.apache.lucene.search.Query