Package org.apache.lucene.search
Class ConstantScoreQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.ConstantScoreQuery
-
- All Implemented Interfaces:
Serializable,Cloneable
public class ConstantScoreQuery extends Query
A query that wraps another query or a filter and simply returns a constant score equal to the query boost for every document that matches the filter or query. For queries it therefore simply strips of all scores and returns a constant one.NOTE: if the wrapped filter is an instance of
CachingWrapperFilter, you'll likely want to enforce deletions in the filter (using eitherCachingWrapperFilter.DeletesMode.RECACHEorCachingWrapperFilter.DeletesMode.DYNAMIC).- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classConstantScoreQuery.ConstantScorerprotected classConstantScoreQuery.ConstantWeight
-
Constructor Summary
Constructors Constructor Description ConstantScoreQuery(Filter filter)Wraps a Filter as a Query.ConstantScoreQuery(Query query)Strips off scores from the passed in Query.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WeightcreateWeight(Searcher searcher)Expert: Constructs an appropriate Weight implementation for this query.booleanequals(Object o)voidextractTerms(Set<Term> terms)Expert: adds all terms occurring in this query to the terms set.FiltergetFilter()Returns the encapsulated filter, returnsnullif a query is wrapped.QuerygetQuery()Returns the encapsulated query, returnsnullif a filter is wrapped.inthashCode()Queryrewrite(IndexReader reader)Expert: called to re-write queries into primitive queries.StringtoString(String field)Prints a query to a string, withfieldassumed to be the default field and omitted.-
Methods inherited from class org.apache.lucene.search.Query
clone, combine, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight
-
-
-
-
Constructor Detail
-
ConstantScoreQuery
public ConstantScoreQuery(Query query)
Strips off scores from the passed in Query. The hits will get a constant score dependent on the boost factor of this query.
-
ConstantScoreQuery
public ConstantScoreQuery(Filter filter)
Wraps a Filter as a Query. The hits will get a constant score dependent on the boost factor of this query. If you simply want to strip off scores from a Query, no longer usenew ConstantScoreQuery(new QueryWrapperFilter(query)), instead useConstantScoreQuery(Query)!
-
-
Method Detail
-
getFilter
public Filter getFilter()
Returns the encapsulated filter, returnsnullif a query is wrapped.
-
getQuery
public Query getQuery()
Returns the encapsulated query, returnsnullif a filter is wrapped.
-
rewrite
public Query rewrite(IndexReader reader) throws IOException
Description copied from class:QueryExpert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.- Overrides:
rewritein classQuery- Throws:
IOException
-
extractTerms
public void extractTerms(Set<Term> terms)
Description copied from class:QueryExpert: adds all terms occurring in this query to the terms set. Only works if this query is in itsrewrittenform.- Overrides:
extractTermsin classQuery
-
createWeight
public Weight createWeight(Searcher searcher) throws IOException
Description copied from class:QueryExpert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeightin classQuery- Throws:
IOException
-
toString
public String toString(String field)
Description copied from class:QueryPrints a query to a string, withfieldassumed to be the default field and omitted.The representation used is one that is supposed to be readable by
QueryParser. However, there are the following limitations:- If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
- Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.
-
-