Package org.apache.solr.search
Class Filter
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.solr.search.Filter
-
- Direct Known Subclasses:
BlockJoinParentQParser.BitDocIdSetFilterWrapper
,SolrFilter
public abstract class Filter extends org.apache.lucene.search.Query
Convenient base class for building queries that only perform matching, but no scoring. The scorer produced by such queries always returns 0 as score.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description org.apache.lucene.search.Weight
createWeight(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.ScoreMode scoreMode, float boost)
abstract org.apache.lucene.search.DocIdSet
getDocIdSet(org.apache.lucene.index.LeafReaderContext context, org.apache.lucene.util.Bits acceptDocs)
Creates aDocIdSet
enumerating the documents that should be permitted in search results.void
visit(org.apache.lucene.search.QueryVisitor visitor)
-
-
-
Constructor Detail
-
Filter
protected Filter(boolean applyLazily)
Filter constructor. WhenapplyLazily
is true and the producedDocIdSet
s supportrandom-access
, Lucene will only apply this filter after other clauses.
-
Filter
protected Filter()
Default Filter constructor that will use thedoc id set iterator
when consumed through theQuery
API.
-
-
Method Detail
-
getDocIdSet
public abstract org.apache.lucene.search.DocIdSet getDocIdSet(org.apache.lucene.index.LeafReaderContext context, org.apache.lucene.util.Bits acceptDocs) throws IOException
Creates aDocIdSet
enumerating the documents that should be permitted in search results. NOTE: null can be returned if no documents are accepted by this Filter.Note: This method will be called once per segment in the index during searching. The returned
DocIdSet
must refer to document IDs for that segment, not for the top-level reader.- Parameters:
context
- aLeafReaderContext
instance opened on the index currently searched on. Note, it is likely that the provided reader info does not represent the whole underlying index i.e. if the index has more than one segment the given reader only represents a single segment. The provided context is always an atomic context, so you can callLeafReader.terms(String)
on the context's reader, for example.acceptDocs
- Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)- Returns:
- a DocIdSet that provides the documents which should be permitted or
prohibited in search results. NOTE:
null
should be returned if the filter doesn't accept any documents otherwise internal optimization might not apply in the case an emptyDocIdSet
is returned. - Throws:
IOException
-
createWeight
public org.apache.lucene.search.Weight createWeight(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.ScoreMode scoreMode, float boost)
- Overrides:
createWeight
in classorg.apache.lucene.search.Query
-
visit
public void visit(org.apache.lucene.search.QueryVisitor visitor)
- Overrides:
visit
in classorg.apache.lucene.search.Query
-
-