public class

BooleanQuery

extends Query
implements Iterable<T>
java.lang.Object
   ↳ org.apache.lucene.search.Query
     ↳ org.apache.lucene.search.BooleanQuery

Class Overview

A Query that matches documents matching boolean combinations of other queries, e.g. TermQuerys, PhraseQuerys or other BooleanQuerys.

Summary

Nested Classes
class BooleanQuery.BooleanWeight Expert: the Weight for BooleanQuery, used to normalize, score and explain these queries. 
class BooleanQuery.TooManyClauses Thrown when an attempt is made to add more than getMaxClauseCount() clauses. 
Fields
protected int minNrShouldMatch
Public Constructors
BooleanQuery()
Constructs an empty boolean query.
BooleanQuery(boolean disableCoord)
Constructs an empty boolean query.
Public Methods
void add(BooleanClause clause)
Adds a clause to a boolean query.
void add(Query query, BooleanClause.Occur occur)
Adds a clause to a boolean query.
List<BooleanClause> clauses()
Returns the list of clauses in this query.
Object clone()
Returns a clone of this query.
Weight createWeight(Searcher searcher)
Expert: Constructs an appropriate Weight implementation for this query.
boolean equals(Object o)
Returns true iff o is equal to this.
void extractTerms(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.
BooleanClause[] getClauses()
Returns the set of clauses in this query.
static int getMaxClauseCount()
Return the maximum number of clauses permitted, 1024 by default.
int getMinimumNumberShouldMatch()
Gets the minimum number of the optional BooleanClauses which must be satisfied.
Similarity getSimilarity(Searcher searcher)
Expert: Returns the Similarity implementation to be used for this query.
int hashCode()
Returns a hash code value for this object.
boolean isCoordDisabled()
Returns true iff coord(int, int) is disabled in scoring for this query instance.
final Iterator<BooleanClause> iterator()
Returns an iterator on the clauses in this query.
Query rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
static void setMaxClauseCount(int maxClauseCount)
Set the maximum number of clauses permitted per BooleanQuery.
void setMinimumNumberShouldMatch(int min)
Specifies a minimum number of the optional BooleanClauses which must be satisfied.
String toString(String field)
Prints a user-readable version of this query.
[Expand]
Inherited Methods
From class org.apache.lucene.search.Query
From class java.lang.Object
From interface java.lang.Iterable

Fields

protected int minNrShouldMatch

Public Constructors

public BooleanQuery ()

Constructs an empty boolean query.

public BooleanQuery (boolean disableCoord)

Constructs an empty boolean query. coord(int, int) may be disabled in scoring, as appropriate. For example, this score factor does not make sense for most automatically generated queries, like WildcardQuery and FuzzyQuery.

Parameters
disableCoord disables coord(int, int) in scoring.

Public Methods

public void add (BooleanClause clause)

Adds a clause to a boolean query.

Throws
BooleanQuery.TooManyClauses if the new number of clauses exceeds the maximum clause number

public void add (Query query, BooleanClause.Occur occur)

Adds a clause to a boolean query.

Throws
BooleanQuery.TooManyClauses if the new number of clauses exceeds the maximum clause number

public List<BooleanClause> clauses ()

Returns the list of clauses in this query.

public Object clone ()

Returns a clone of this query.

public Weight createWeight (Searcher searcher)

Expert: Constructs an appropriate Weight implementation for this query.

Only implemented by primitive queries, which re-write to themselves.

Throws
IOException

public boolean equals (Object o)

Returns true iff o is equal to this.

public void extractTerms (Set<Term> terms)

Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.

public BooleanClause[] getClauses ()

Returns the set of clauses in this query.

public static int getMaxClauseCount ()

Return the maximum number of clauses permitted, 1024 by default. Attempts to add more than the permitted number of clauses cause BooleanQuery.TooManyClauses to be thrown.

public int getMinimumNumberShouldMatch ()

Gets the minimum number of the optional BooleanClauses which must be satisfied.

public Similarity getSimilarity (Searcher searcher)

Expert: Returns the Similarity implementation to be used for this query. Subclasses may override this method to specify their own Similarity implementation, perhaps one that delegates through that of the Searcher. By default the Searcher's Similarity implementation is returned.

public int hashCode ()

Returns a hash code value for this object.

public boolean isCoordDisabled ()

Returns true iff coord(int, int) is disabled in scoring for this query instance.

public final Iterator<BooleanClause> iterator ()

Returns an iterator on the clauses in this query. It implements the Iterable interface to make it possible to do:

for (BooleanClause clause : booleanQuery) {}

public Query rewrite (IndexReader reader)

Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

Throws
IOException

public static void setMaxClauseCount (int maxClauseCount)

Set the maximum number of clauses permitted per BooleanQuery. Default value is 1024.

public void setMinimumNumberShouldMatch (int min)

Specifies a minimum number of the optional BooleanClauses which must be satisfied.

By default no optional clauses are necessary for a match (unless there are no required clauses). If this method is used, then the specified number of clauses is required.

Use of this method is totally independent of specifying that any specific clauses are required (or prohibited). This number will only be compared against the number of matching optional clauses.

Parameters
min the number of optional clauses that must match

public String toString (String field)

Prints a user-readable version of this query.