Make some BooleanQuery methods public and a new `#add(Collection)` method for BQ builder (#13950)

This commit is contained in:
Shubham Chaudhary 2024-10-25 17:01:34 +05:30 committed by GitHub
parent 2268242412
commit bf69c3cf43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 1 deletions

View File

@ -36,6 +36,8 @@ API Changes
* GITHUB#13859: Allow open-ended ranges in Intervals range queries. (Mayya Sharipova)
* GITHUB#13950: Make BooleanQuery#getClauses public and add #add(Collection<BooleanClause>) to BQ builder. (Shubham Chaudhary)
New Features
---------------------

View File

@ -87,6 +87,22 @@ public class BooleanQuery extends Query implements Iterable<BooleanClause> {
return this;
}
/**
* Add a collection of BooleanClauses to this {@link Builder}. Note that the order in which
* clauses are added does not have any impact on matching documents or query performance.
*
* @throws IndexSearcher.TooManyClauses if the new number of clauses exceeds the maximum clause
* number
*/
public Builder add(Collection<BooleanClause> collection) {
// see #addClause(BooleanClause)
if ((clauses.size() + collection.size()) > IndexSearcher.maxClauseCount) {
throw new IndexSearcher.TooManyClauses();
}
clauses.addAll(collection);
return this;
}
/**
* Add a new clause to this {@link Builder}. Note that the order in which clauses are added does
* not have any impact on matching documents or query performance.
@ -136,7 +152,7 @@ public class BooleanQuery extends Query implements Iterable<BooleanClause> {
}
/** Return the collection of queries for the given {@link Occur}. */
Collection<Query> getClauses(Occur occur) {
public Collection<Query> getClauses(Occur occur) {
return clauseSets.get(occur);
}