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.RECACHE
orCachingWrapperFilter.DeletesMode.DYNAMIC
).- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ConstantScoreQuery.ConstantScorer
protected class
ConstantScoreQuery.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 Weight
createWeight(Searcher searcher)
Expert: Constructs an appropriate Weight implementation for this query.boolean
equals(Object o)
void
extractTerms(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.Filter
getFilter()
Returns the encapsulated filter, returnsnull
if a query is wrapped.Query
getQuery()
Returns the encapsulated query, returnsnull
if a filter is wrapped.int
hashCode()
Query
rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.String
toString(String field)
Prints a query to a string, withfield
assumed 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, returnsnull
if a query is wrapped.
-
getQuery
public Query getQuery()
Returns the encapsulated query, returnsnull
if a filter is wrapped.
-
rewrite
public Query rewrite(IndexReader reader) throws IOException
Description copied from class:Query
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.- Overrides:
rewrite
in classQuery
- Throws:
IOException
-
extractTerms
public void extractTerms(Set<Term> terms)
Description copied from class:Query
Expert: adds all terms occurring in this query to the terms set. Only works if this query is in itsrewritten
form.- Overrides:
extractTerms
in classQuery
-
createWeight
public Weight createWeight(Searcher searcher) throws IOException
Description copied from class:Query
Expert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeight
in classQuery
- Throws:
IOException
-
toString
public String toString(String field)
Description copied from class:Query
Prints a query to a string, withfield
assumed 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.
-
-