mirror of https://github.com/apache/lucene.git
Optimize patch of yesterday: only clone when needed.
git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@150140 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
393e5c2655
commit
c76efdf450
|
@ -225,11 +225,15 @@ public class BooleanQuery extends Query {
|
|||
if (clauses.size() == 1) { // optimize 1-clause queries
|
||||
BooleanClause c = (BooleanClause)clauses.elementAt(0);
|
||||
if (!c.prohibited) { // just return clause
|
||||
|
||||
Query query = c.query.rewrite(reader); // rewrite first
|
||||
if (getBoost() != 1.0f) { // have to clone to boost
|
||||
query = (Query)query.clone();
|
||||
|
||||
if (getBoost() != 1.0f) { // incorporate boost
|
||||
if (query == c.query) // if rewrite was no-op
|
||||
query = (Query)query.clone(); // then clone before boost
|
||||
query.setBoost(getBoost() * query.getBoost());
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue