Class ToChildBlockJoinQuery

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class ToChildBlockJoinQuery
    extends org.apache.lucene.search.Query
    Just like ToParentBlockJoinQuery, except this query joins in reverse: you provide a Query matching parent documents and it joins down to child documents.

    WARNING: to create the parents filter, always use RawTermFilter (so that the filter includes deleted docs), wrapped with CachingWrapperFilter (so that the returned bit set per reader is a FixedBitSet), specifying DeletesMode.IGNORE (so that on reopen, the filter still includes deleted docs). Failure to do this can result in completely wrong documents being returned! For example:

       Filter parents = new CachingWrapperFilter(
                              new RawTermFilter(new Term("parent", "yes")),
                              CachingWrapperFilter.DeletesMode.IGNORE);
     
    See Also:
    Serialized Form
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Constructor Detail

      • ToChildBlockJoinQuery

        public ToChildBlockJoinQuery​(org.apache.lucene.search.Query parentQuery,
                                     org.apache.lucene.search.Filter parentsFilter,
                                     boolean doScores)
    • Method Detail

      • createWeight

        public org.apache.lucene.search.Weight createWeight​(org.apache.lucene.search.Searcher searcher)
                                                     throws IOException
        Overrides:
        createWeight in class org.apache.lucene.search.Query
        Throws:
        IOException
      • extractTerms

        public void extractTerms​(Set<org.apache.lucene.index.Term> terms)
        Overrides:
        extractTerms in class org.apache.lucene.search.Query
      • rewrite

        public org.apache.lucene.search.Query rewrite​(org.apache.lucene.index.IndexReader reader)
                                               throws IOException
        Overrides:
        rewrite in class org.apache.lucene.search.Query
        Throws:
        IOException
      • toString

        public String toString​(String field)
        Specified by:
        toString in class org.apache.lucene.search.Query
      • equals

        public boolean equals​(Object _other)
        Overrides:
        equals in class org.apache.lucene.search.Query
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class org.apache.lucene.search.Query
      • clone

        public Object clone()
        Overrides:
        clone in class org.apache.lucene.search.Query