You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/07/29 09:09:41 UTC

svn commit: r1693190 [7/8] - in /lucene/dev/branches/branch_5x: ./ lucene/ lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/ lucene/benchmark/ lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ lucene/benchmark/src/ja...

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java Wed Jul 29 07:09:39 2015
@@ -18,10 +18,10 @@ package org.apache.lucene.queryparser.su
 
 import java.util.List;
 import java.util.Iterator;
-
 import java.io.IOException;
 
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.MatchNoDocsQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.spans.SpanNearQuery;
 import org.apache.lucene.search.spans.SpanQuery;
@@ -90,7 +90,7 @@ public class DistanceQuery extends Compo
           ((DistanceSubQuery)sqi.next()).addSpanQueries(sncf);
           sncf.clear();
         }
-        return SrndQuery.theEmptyLcnQuery;
+        return new MatchNoDocsQuery();
       }
       
       spanClauses[qi] = sncf.makeSpanClause();

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/NotQuery.java Wed Jul 29 07:09:39 2015
@@ -30,13 +30,13 @@ public class NotQuery extends ComposedQu
   @Override
   public Query makeLuceneQueryFieldNoBoost(String fieldName, BasicQueryFactory qf) {
     List<Query> luceneSubQueries = makeLuceneSubQueriesField(fieldName, qf);
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     bq.add( luceneSubQueries.get(0), BooleanClause.Occur.MUST);
     SrndBooleanQuery.addQueriesToBoolean(bq,
             // FIXME: do not allow weights on prohibited subqueries.
             luceneSubQueries.subList(1, luceneSubQueries.size()),
             // later subqueries: not required, prohibited
             BooleanClause.Occur.MUST_NOT);
-    return bq;
+    return bq.build();
   }
 }

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java Wed Jul 29 07:09:39 2015
@@ -68,12 +68,5 @@ abstract class RewriteQuery<SQ extends S
       && srndQuery.equals(other.srndQuery);
   }
 
-  /** 
-   * Not supported by this query.
-   * @throws UnsupportedOperationException always: clone is not supported. */
-  @Override
-  public RewriteQuery clone() {
-    throw new UnsupportedOperationException();
-  }
 }
 

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java Wed Jul 29 07:09:39 2015
@@ -20,6 +20,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.MatchNoDocsQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.index.Term;
@@ -43,7 +44,7 @@ class SimpleTermRewriteQuery extends Rew
         luceneSubQueries.add(qf.newTermQuery(term));
       }
     });
-    return  (luceneSubQueries.size() == 0) ? SrndQuery.theEmptyLcnQuery
+    return  (luceneSubQueries.size() == 0) ? new MatchNoDocsQuery()
     : (luceneSubQueries.size() == 1) ? luceneSubQueries.get(0)
     : SrndBooleanQuery.makeBooleanQuery(
       /* luceneSubQueries all have default weight */

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java Wed Jul 29 07:09:39 2015
@@ -53,12 +53,13 @@ Operations:
  */
 
 import java.io.IOException;
-import java.util.Iterator;
 import java.util.HashMap;
+import java.util.Iterator;
+
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Term;
+import org.apache.lucene.search.MatchNoDocsQuery;
 import org.apache.lucene.search.Query;
-import org.apache.lucene.search.spans.SpanNearQuery;
 import org.apache.lucene.search.spans.SpanOrQuery;
 import org.apache.lucene.search.spans.SpanQuery;
 import org.apache.lucene.search.spans.SpanTermQuery;
@@ -105,7 +106,7 @@ public class SpanNearClauseFactory { //
   }
 
   public void addSpanQuery(Query q) {
-    if (q == SrndQuery.theEmptyLcnQuery)
+    if (q.getClass() == MatchNoDocsQuery.class)
       return;
     if (! (q instanceof SpanQuery))
       throw new AssertionError("Expected SpanQuery: " + q.toString(getFieldName()));

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndBooleanQuery.java Wed Jul 29 07:09:39 2015
@@ -24,7 +24,7 @@ import org.apache.lucene.search.BooleanC
 
 class SrndBooleanQuery {
   public static void addQueriesToBoolean(
-          BooleanQuery bq,
+          BooleanQuery.Builder bq,
           List<Query> queries,
           BooleanClause.Occur occur) {
     for (int i = 0; i < queries.size(); i++) {
@@ -38,8 +38,8 @@ class SrndBooleanQuery {
     if (queries.size() <= 1) {
       throw new AssertionError("Too few subqueries: " + queries.size());
     }
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     addQueriesToBoolean(bq, queries.subList(0, queries.size()), occur);
-    return bq;
+    return bq.build();
   }
 }

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java Wed Jul 29 07:09:39 2015
@@ -95,20 +95,5 @@ public abstract class SrndQuery implemen
     return toString().equals(obj.toString());
   }
 
-  /** An empty Lucene query */
-  public final static Query theEmptyLcnQuery = new BooleanQuery() { /* no changes allowed */
-    @Override
-    public void setBoost(float boost) {
-      throw new UnsupportedOperationException();
-    }
-    @Override
-    public void add(BooleanClause clause) {
-      throw new UnsupportedOperationException();
-    }
-    @Override
-    public void add(Query query, BooleanClause.Occur occur) {
-      throw new UnsupportedOperationException();
-    }
-  };
 }
 

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java Wed Jul 29 07:09:39 2015
@@ -46,9 +46,9 @@ public class BooleanQueryBuilder impleme
 
   @Override
   public Query getQuery(Element e) throws ParserException {
-    BooleanQuery bq = new BooleanQuery(DOMUtils.getAttribute(e, "disableCoord", false));
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    bq.setDisableCoord(DOMUtils.getAttribute(e, "disableCoord", false));
     bq.setMinimumNumberShouldMatch(DOMUtils.getAttribute(e, "minimumNumberShouldMatch", 0));
-    bq.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
 
     NodeList nl = e.getChildNodes();
     for (int i = 0; i < nl.getLength(); i++) {
@@ -63,7 +63,9 @@ public class BooleanQueryBuilder impleme
       }
     }
 
-    return bq;
+    BooleanQuery q = bq.build();
+    q.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
+    return q;
   }
 
   static BooleanClause.Occur getOccursValue(Element clauseElem) throws ParserException {

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java Wed Jul 29 07:09:39 2015
@@ -49,7 +49,8 @@ public class TermsQueryBuilder implement
     String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName");
     String text = DOMUtils.getNonBlankTextOrFail(e);
 
-    BooleanQuery bq = new BooleanQuery(DOMUtils.getAttribute(e, "disableCoord", false));
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    bq.setDisableCoord(DOMUtils.getAttribute(e, "disableCoord", false));
     bq.setMinimumNumberShouldMatch(DOMUtils.getAttribute(e, "minimumNumberShouldMatch", 0));
     try (TokenStream ts = analyzer.tokenStream(fieldName, text)) {
       TermToBytesRefAttribute termAtt = ts.addAttribute(TermToBytesRefAttribute.class);
@@ -65,8 +66,9 @@ public class TermsQueryBuilder implement
       throw new RuntimeException("Error constructing terms from index:" + ioe);
     }
 
-    bq.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
-    return bq;
+    Query q = bq.build();
+    q.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
+    return q;
   }
 
 }

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java Wed Jul 29 07:09:39 2015
@@ -336,10 +336,11 @@ public class TestMultiFieldQueryParser e
     String[] fields = new String[] {"a", "b"};
     MultiFieldQueryParser mfqp = new MultiFieldQueryParser(fields, new MockAnalyzer(random()));
 
-    BooleanQuery bq = new BooleanQuery(true);
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
+    bq.setDisableCoord(true);
     bq.add(new RegexpQuery(new Term("a", "[a-z][123]")), Occur.SHOULD);
     bq.add(new RegexpQuery(new Term("b", "[a-z][123]")), Occur.SHOULD);
-    assertEquals(bq, mfqp.parse("/[a-z][123]/"));
+    assertEquals(bq.build(), mfqp.parse("/[a-z][123]/"));
   }
 
 }

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java Wed Jul 29 07:09:39 2015
@@ -298,20 +298,21 @@ public class TestQueryParser extends Que
     /** ordinary behavior, synonyms form uncoordinated boolean query */
     QueryParser dumb = new QueryParser("field",
         new Analyzer1());
-    BooleanQuery expanded = new BooleanQuery(true);
+    BooleanQuery.Builder expanded = new BooleanQuery.Builder();
+    expanded.setDisableCoord(true);
     expanded.add(new TermQuery(new Term("field", "dogs")),
         BooleanClause.Occur.SHOULD);
     expanded.add(new TermQuery(new Term("field", "dog")),
         BooleanClause.Occur.SHOULD);
-    assertEquals(expanded, dumb.parse("\"dogs\""));
+    assertEquals(expanded.build(), dumb.parse("\"dogs\""));
     /** even with the phrase operator the behavior is the same */
-    assertEquals(expanded, dumb.parse("dogs"));
+    assertEquals(expanded.build(), dumb.parse("dogs"));
     
     /**
      * custom behavior, the synonyms are expanded, unless you use quote operator
      */
     QueryParser smart = new SmartQueryParser();
-    assertEquals(expanded, smart.parse("dogs"));
+    assertEquals(expanded.build(), smart.parse("dogs"));
     
     Query unexpanded = new TermQuery(new Term("field", "dogs"));
     assertEquals(unexpanded, smart.parse("\"dogs\""));
@@ -330,9 +331,11 @@ public class TestQueryParser extends Que
   
   /** simple synonyms test */
   public void testSynonyms() throws Exception {
-    BooleanQuery expected = new BooleanQuery(true);
-    expected.add(new TermQuery(new Term("field", "dogs")), BooleanClause.Occur.SHOULD);
-    expected.add(new TermQuery(new Term("field", "dog")), BooleanClause.Occur.SHOULD);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.setDisableCoord(true);
+    expectedB.add(new TermQuery(new Term("field", "dogs")), BooleanClause.Occur.SHOULD);
+    expectedB.add(new TermQuery(new Term("field", "dog")), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockSynonymAnalyzer());
     assertEquals(expected, qp.parse("dogs"));
     assertEquals(expected, qp.parse("\"dogs\""));
@@ -400,9 +403,11 @@ public class TestQueryParser extends Que
   
   /** simple CJK synonym test */
   public void testCJKSynonym() throws Exception {
-    BooleanQuery expected = new BooleanQuery(true);
-    expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
-    expected.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.setDisableCoord(true);
+    expectedB.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
+    expectedB.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockCJKSynonymAnalyzer());
     assertEquals(expected, qp.parse("国"));
     qp.setDefaultOperator(Operator.AND);
@@ -413,12 +418,14 @@ public class TestQueryParser extends Que
   
   /** synonyms with default OR operator */
   public void testCJKSynonymsOR() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
-    BooleanQuery inner = new BooleanQuery(true);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    inner.setDisableCoord(true);
     inner.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner, BooleanClause.Occur.SHOULD);
+    expectedB.add(inner.build(), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockCJKSynonymAnalyzer());
     assertEquals(expected, qp.parse("中国"));
     expected.setBoost(2.0f);
@@ -427,16 +434,19 @@ public class TestQueryParser extends Que
   
   /** more complex synonyms with default OR operator */
   public void testCJKSynonymsOR2() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
-    BooleanQuery inner = new BooleanQuery(true);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    inner.setDisableCoord(true);
     inner.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner, BooleanClause.Occur.SHOULD);
-    BooleanQuery inner2 = new BooleanQuery(true);
+    expectedB.add(inner.build(), BooleanClause.Occur.SHOULD);
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
+    inner2.setDisableCoord(true);
     inner2.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner2.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner2, BooleanClause.Occur.SHOULD);
+    expectedB.add(inner2.build(), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockCJKSynonymAnalyzer());
     assertEquals(expected, qp.parse("中国国"));
     expected.setBoost(2.0f);
@@ -445,12 +455,14 @@ public class TestQueryParser extends Que
   
   /** synonyms with default AND operator */
   public void testCJKSynonymsAND() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.MUST);
-    BooleanQuery inner = new BooleanQuery(true);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.MUST);
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    inner.setDisableCoord(true);
     inner.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner, BooleanClause.Occur.MUST);
+    expectedB.add(inner.build(), BooleanClause.Occur.MUST);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockCJKSynonymAnalyzer());
     qp.setDefaultOperator(Operator.AND);
     assertEquals(expected, qp.parse("中国"));
@@ -460,16 +472,19 @@ public class TestQueryParser extends Que
   
   /** more complex synonyms with default AND operator */
   public void testCJKSynonymsAND2() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.MUST);
-    BooleanQuery inner = new BooleanQuery(true);
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.MUST);
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    inner.setDisableCoord(true);
     inner.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner, BooleanClause.Occur.MUST);
-    BooleanQuery inner2 = new BooleanQuery(true);
+    expectedB.add(inner.build(), BooleanClause.Occur.MUST);
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
+    inner2.setDisableCoord(true);
     inner2.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     inner2.add(new TermQuery(new Term("field", "國")), BooleanClause.Occur.SHOULD);
-    expected.add(inner2, BooleanClause.Occur.MUST);
+    expectedB.add(inner2.build(), BooleanClause.Occur.MUST);
+    Query expected = expectedB.build();
     QueryParser qp = new QueryParser("field", new MockCJKSynonymAnalyzer());
     qp.setDefaultOperator(Operator.AND);
     assertEquals(expected, qp.parse("中国国"));

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/ext/TestExtendableQueryParser.java Wed Jul 29 07:09:39 2015
@@ -76,7 +76,7 @@ public class TestExtendableQueryParser e
       assertTrue("expected instance of BooleanQuery but was "
           + query.getClass(), query instanceof BooleanQuery);
       BooleanQuery bquery = (BooleanQuery) query;
-      BooleanClause[] clauses = bquery.getClauses();
+      BooleanClause[] clauses = bquery.clauses().toArray(new BooleanClause[0]);
       assertEquals(2, clauses.length);
       BooleanClause booleanClause = clauses[0];
       query = booleanClause.getQuery();

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java Wed Jul 29 07:09:39 2015
@@ -72,10 +72,10 @@ public class TestMultiFieldQPHelper exte
     mfqp.setAnalyzer(a);
 
     Query q = mfqp.parse(qtxt, null);
-    assertEquals(expectedRes, q.toString());
+    assertEquals(expectedRes, q.toString().trim());
 
     q = QueryParserUtil.parse(qtxt, fields, occur, a);
-    assertEquals(expectedRes, q.toString());
+    assertEquals(expectedRes, q.toString().trim());
   }
 
   public void testSimple() throws Exception {
@@ -208,7 +208,7 @@ public class TestMultiFieldQPHelper exte
 
     String[] queries6 = { "((+stop))", "+((stop))" };
     q = QueryParserUtil.parse(queries6, fields, stopA);
-    assertEquals("", q.toString());
+    assertEquals(" ", q.toString());
 
     String[] queries7 = { "one ((+stop)) +more", "+((stop)) +two" };
     q = QueryParserUtil.parse(queries7, fields, stopA);

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java Wed Jul 29 07:09:39 2015
@@ -60,6 +60,7 @@ import org.apache.lucene.search.BooleanQ
 import org.apache.lucene.search.FuzzyQuery;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MatchNoDocsQuery;
 import org.apache.lucene.search.MultiPhraseQuery;
 import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.PhraseQuery;
@@ -376,18 +377,18 @@ public class TestQPHelper extends Lucene
     // individual CJK chars as terms
     SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer();
     
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
-    assertEquals(expected, getQuery("中国", analyzer));
+    assertEquals(expected.build(), getQuery("中国", analyzer));
     
-    expected = new BooleanQuery();
+    expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.MUST);
-    BooleanQuery inner = new BooleanQuery();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
     inner.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
-    expected.add(inner, BooleanClause.Occur.MUST);
-    assertEquals(expected, getQuery("中 AND 中国", new SimpleCJKAnalyzer()));
+    expected.add(inner.build(), BooleanClause.Occur.MUST);
+    assertEquals(expected.build(), getQuery("中 AND 中国", new SimpleCJKAnalyzer()));
 
   }
   
@@ -395,11 +396,11 @@ public class TestQPHelper extends Lucene
     // individual CJK chars as terms
     SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer();
     
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
+    expectedB.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     expected.setBoost(0.5f);
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
-    expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
-    
     assertEquals(expected, getQuery("中国^0.5", analyzer));
   }
   
@@ -1164,11 +1165,11 @@ public class TestQPHelper extends Lucene
     Query escaped2 = new RegexpQuery(new Term("field", "[a-z]\\*[123]"));
     assertEquals(escaped2, qp.parse("/[a-z]\\*[123]/", df));
     
-    BooleanQuery complex = new BooleanQuery();
+    BooleanQuery.Builder complex = new BooleanQuery.Builder();
     complex.add(new RegexpQuery(new Term("field", "[a-z]\\/[123]")), Occur.MUST);
     complex.add(new TermQuery(new Term("path", "/etc/init.d/")), Occur.MUST);
     complex.add(new TermQuery(new Term("field", "/etc/init[.]d/lucene/")), Occur.SHOULD);
-    assertEquals(complex, qp.parse("/[a-z]\\/[123]/ AND path:\"/etc/init.d/\" OR \"/etc\\/init\\[.\\]d/lucene/\" ", df));
+    assertEquals(complex.build(), qp.parse("/[a-z]\\/[123]/ AND path:\"/etc/init.d/\" OR \"/etc\\/init\\[.\\]d/lucene/\" ", df));
     
     Query re = new RegexpQuery(new Term("field", "http.*"));
     assertEquals(re, qp.parse("field:/http.*/", df));
@@ -1185,11 +1186,11 @@ public class TestQPHelper extends Lucene
     assertEquals(new TermQuery(new Term("field", "/boo/")), qp.parse("\"/boo/\"", df));
     assertEquals(new TermQuery(new Term("field", "/boo/")), qp.parse("\\/boo\\/", df));
     
-    BooleanQuery two = new BooleanQuery();
+    BooleanQuery.Builder two = new BooleanQuery.Builder();
     two.add(new RegexpQuery(new Term("field", "foo")), Occur.SHOULD);
     two.add(new RegexpQuery(new Term("field", "bar")), Occur.SHOULD);
-    assertEquals(two, qp.parse("field:/foo/ field:/bar/", df));
-    assertEquals(two, qp.parse("/foo/ /bar/", df));
+    assertEquals(two.build(), qp.parse("field:/foo/ field:/bar/", df));
+    assertEquals(two.build(), qp.parse("/foo/ /bar/", df));
   }
 
   public void testStopwords() throws Exception {
@@ -1199,9 +1200,7 @@ public class TestQPHelper extends Lucene
 
     Query result = qp.parse("a:the OR a:foo", "a");
     assertNotNull("result is null and it shouldn't be", result);
-    assertTrue("result is not a BooleanQuery", result instanceof BooleanQuery);
-    assertTrue(((BooleanQuery) result).clauses().size() + " does not equal: "
-        + 0, ((BooleanQuery) result).clauses().size() == 0);
+    assertTrue("result is not a MatchNoDocsQuery", result instanceof MatchNoDocsQuery);
     result = qp.parse("a:woo OR a:the", "a");
     assertNotNull("result is null and it shouldn't be", result);
     assertTrue("result is not a TermQuery", result instanceof TermQuery);
@@ -1245,8 +1244,9 @@ public class TestQPHelper extends Lucene
     assertEquals(new MatchAllDocsQuery(), qp.parse("*:*", "field"));
     assertEquals(new MatchAllDocsQuery(), qp.parse("(*:*)", "field"));
     BooleanQuery bq = (BooleanQuery) qp.parse("+*:* -*:*", "field");
-    assertTrue(bq.getClauses()[0].getQuery() instanceof MatchAllDocsQuery);
-    assertTrue(bq.getClauses()[1].getQuery() instanceof MatchAllDocsQuery);
+    for (BooleanClause c : bq) {
+      assertTrue(c.getQuery().getClass() == MatchAllDocsQuery.class);
+    }
   }
 
   private void assertHits(int expected, String query, IndexSearcher is)
@@ -1337,11 +1337,11 @@ public class TestQPHelper extends Lucene
     parser.setDefaultOperator(StandardQueryConfigHandler.Operator.AND);
     parser.setAnalyzer(new MockAnalyzer(random()));
 
-    BooleanQuery exp = new BooleanQuery();
+    BooleanQuery.Builder exp = new BooleanQuery.Builder();
     exp.add(new BooleanClause(new RegexpQuery(new Term("b", "ab.+")), BooleanClause.Occur.SHOULD));//TODO spezification? was "MUST"
     exp.add(new BooleanClause(new RegexpQuery(new Term("t", "ab.+")), BooleanClause.Occur.SHOULD));//TODO spezification? was "MUST"
 
-    assertEquals(exp, parser.parse("/ab.+/", null));
+    assertEquals(exp.build(), parser.parse("/ab.+/", null));
 
     RegexpQuery regexpQueryexp = new RegexpQuery(new Term("test", "[abc]?[0-9]"));
 

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestStandardQP.java Wed Jul 29 07:09:39 2015
@@ -194,14 +194,15 @@ public class TestStandardQP extends Quer
   public void testNewFieldQuery() throws Exception {
     /** ordinary behavior, synonyms form uncoordinated boolean query */
     StandardQueryParser dumb = getParser(new Analyzer1());
-    BooleanQuery expanded = new BooleanQuery(true);
+    BooleanQuery.Builder expanded = new BooleanQuery.Builder();
+    expanded.setDisableCoord(true);
     expanded.add(new TermQuery(new Term("field", "dogs")),
         BooleanClause.Occur.SHOULD);
     expanded.add(new TermQuery(new Term("field", "dog")),
         BooleanClause.Occur.SHOULD);
-    assertEquals(expanded, dumb.parse("\"dogs\"","field"));
+    assertEquals(expanded.build(), dumb.parse("\"dogs\"","field"));
     /** even with the phrase operator the behavior is the same */
-    assertEquals(expanded, dumb.parse("dogs","field"));
+    assertEquals(expanded.build(), dumb.parse("dogs","field"));
     
     /**
      * custom behavior, the synonyms are expanded, unless you use quote operator

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java Wed Jul 29 07:09:39 2015
@@ -93,12 +93,12 @@ public class TestSimpleQueryParser exten
     assertEquals(regular, parse("foobar~a"));
     assertEquals(regular, parse("foobar~1a"));
 
-    BooleanQuery bool = new BooleanQuery();
+    BooleanQuery.Builder bool = new BooleanQuery.Builder();
     FuzzyQuery fuzzy = new FuzzyQuery(new Term("field", "foo"), LevenshteinAutomata.MAXIMUM_SUPPORTED_DISTANCE);
     bool.add(fuzzy, Occur.MUST);
     bool.add(new TermQuery(new Term("field", "bar")), Occur.MUST);
 
-    assertEquals(bool, parse("foo~" + LevenshteinAutomata.MAXIMUM_SUPPORTED_DISTANCE + 1 + " bar"));
+    assertEquals(bool.build(), parse("foo~" + LevenshteinAutomata.MAXIMUM_SUPPORTED_DISTANCE + 1 + " bar"));
   }
 
   /** test a simple phrase */
@@ -127,11 +127,11 @@ public class TestSimpleQueryParser exten
 
     PhraseQuery pq = new PhraseQuery(12, "field", "foo", "bar");
 
-    BooleanQuery expectedBoolean = new BooleanQuery();
+    BooleanQuery.Builder expectedBoolean = new BooleanQuery.Builder();
     expectedBoolean.add(pq, Occur.MUST);
     expectedBoolean.add(new TermQuery(new Term("field", "baz")), Occur.MUST);
 
-    assertEquals(expectedBoolean, parse("\"foo bar\"~12 baz"));
+    assertEquals(expectedBoolean.build(), parse("\"foo bar\"~12 baz"));
   }
 
   /** test a simple prefix */
@@ -143,73 +143,73 @@ public class TestSimpleQueryParser exten
 
   /** test some AND'd terms using '+' operator */
   public void testAND() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "foo")), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "bar")), Occur.MUST);
 
-    assertEquals(expected, parse("foo+bar"));
+    assertEquals(expected.build(), parse("foo+bar"));
   }
 
   /** test some AND'd phrases using '+' operator */
   public void testANDPhrase() throws Exception {
     PhraseQuery phrase1 = new PhraseQuery("field", "foo", "bar");
     PhraseQuery phrase2 = new PhraseQuery("field", "star", "wars");
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(phrase1, Occur.MUST);
     expected.add(phrase2, Occur.MUST);
 
-    assertEquals(expected, parse("\"foo bar\"+\"star wars\""));
+    assertEquals(expected.build(), parse("\"foo bar\"+\"star wars\""));
   }
 
   /** test some AND'd terms (just using whitespace) */
   public void testANDImplicit() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "foo")), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "bar")), Occur.MUST);
 
-    assertEquals(expected, parse("foo bar"));
+    assertEquals(expected.build(), parse("foo bar"));
   }
 
   /** test some OR'd terms */
   public void testOR() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "foo")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "bar")), Occur.SHOULD);
 
-    assertEquals(expected, parse("foo|bar"));
-    assertEquals(expected, parse("foo||bar"));
+    assertEquals(expected.build(), parse("foo|bar"));
+    assertEquals(expected.build(), parse("foo||bar"));
   }
 
   /** test some OR'd terms (just using whitespace) */
   public void testORImplicit() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "foo")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "bar")), Occur.SHOULD);
 
     SimpleQueryParser parser = new SimpleQueryParser(new MockAnalyzer(random()), "field");
-    assertEquals(expected, parser.parse("foo bar"));
+    assertEquals(expected.build(), parser.parse("foo bar"));
   }
 
   /** test some OR'd phrases using '|' operator */
   public void testORPhrase() throws Exception {
     PhraseQuery phrase1 = new PhraseQuery("field", "foo", "bar");
     PhraseQuery phrase2 = new PhraseQuery("field", "star", "wars");
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(phrase1, Occur.SHOULD);
     expected.add(phrase2, Occur.SHOULD);
 
-    assertEquals(expected, parse("\"foo bar\"|\"star wars\""));
+    assertEquals(expected.build(), parse("\"foo bar\"|\"star wars\""));
   }
 
   /** test negated term */
   public void testNOT() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "foo")), Occur.MUST_NOT);
     expected.add(new MatchAllDocsQuery(), Occur.SHOULD);
 
-    assertEquals(expected, parse("-foo"));
-    assertEquals(expected, parse("-(foo)"));
-    assertEquals(expected, parse("---foo"));
+    assertEquals(expected.build(), parse("-foo"));
+    assertEquals(expected.build(), parse("-(foo)"));
+    assertEquals(expected.build(), parse("---foo"));
   }
 
   /** test crazy prefixes with multiple asterisks */
@@ -269,37 +269,37 @@ public class TestSimpleQueryParser exten
   }
 
   public void testGarbageAND() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
 
-    assertEquals(expected, parse("star wars"));
-    assertEquals(expected, parse("star+wars"));
-    assertEquals(expected, parse("     star     wars   "));
-    assertEquals(expected, parse("     star +    wars   "));
-    assertEquals(expected, parse("  |     star + + |   wars   "));
-    assertEquals(expected, parse("  |     star + + |   wars   \\"));
+    assertEquals(expected.build(), parse("star wars"));
+    assertEquals(expected.build(), parse("star+wars"));
+    assertEquals(expected.build(), parse("     star     wars   "));
+    assertEquals(expected.build(), parse("     star +    wars   "));
+    assertEquals(expected.build(), parse("  |     star + + |   wars   "));
+    assertEquals(expected.build(), parse("  |     star + + |   wars   \\"));
   }
 
   public void testGarbageOR() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "star")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "wars")), Occur.SHOULD);
 
-    assertEquals(expected, parse("star|wars"));
-    assertEquals(expected, parse("     star |    wars   "));
-    assertEquals(expected, parse("  |     star | + |   wars   "));
-    assertEquals(expected, parse("  +     star | + +   wars   \\"));
+    assertEquals(expected.build(), parse("star|wars"));
+    assertEquals(expected.build(), parse("     star |    wars   "));
+    assertEquals(expected.build(), parse("  |     star | + |   wars   "));
+    assertEquals(expected.build(), parse("  +     star | + +   wars   \\"));
   }
 
   public void testGarbageNOT() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "star")), Occur.MUST_NOT);
     expected.add(new MatchAllDocsQuery(), Occur.SHOULD);
 
-    assertEquals(expected, parse("-star"));
-    assertEquals(expected, parse("---star"));
-    assertEquals(expected, parse("- -star -"));
+    assertEquals(expected.build(), parse("-star"));
+    assertEquals(expected.build(), parse("---star"));
+    assertEquals(expected.build(), parse("- -star -"));
   }
 
   public void testGarbagePhrase() throws Exception {
@@ -322,150 +322,153 @@ public class TestSimpleQueryParser exten
   }
 
   public void testCompoundAnd() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.MUST);
 
-    assertEquals(expected, parse("star wars empire"));
-    assertEquals(expected, parse("star+wars + empire"));
-    assertEquals(expected, parse(" | --star wars empire \n\\"));
+    assertEquals(expected.build(), parse("star wars empire"));
+    assertEquals(expected.build(), parse("star+wars + empire"));
+    assertEquals(expected.build(), parse(" | --star wars empire \n\\"));
   }
 
   public void testCompoundOr() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "star")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "wars")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
 
-    assertEquals(expected, parse("star|wars|empire"));
-    assertEquals(expected, parse("star|wars | empire"));
-    assertEquals(expected, parse(" | --star|wars|empire \n\\"));
+    assertEquals(expected.build(), parse("star|wars|empire"));
+    assertEquals(expected.build(), parse("star|wars | empire"));
+    assertEquals(expected.build(), parse(" | --star|wars|empire \n\\"));
   }
 
   public void testComplex00() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
     inner.add(new TermQuery(new Term("field", "star")), Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "wars")), Occur.SHOULD);
-    expected.add(inner, Occur.MUST);
+    expected.add(inner.build(), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.MUST);
 
-    assertEquals(expected, parse("star|wars empire"));
-    assertEquals(expected, parse("star|wars + empire"));
-    assertEquals(expected, parse("star| + wars + ----empire |"));
+    assertEquals(expected.build(), parse("star|wars empire"));
+    assertEquals(expected.build(), parse("star|wars + empire"));
+    assertEquals(expected.build(), parse("star| + wars + ----empire |"));
   }
 
   public void testComplex01() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
     inner.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     inner.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
-    expected.add(inner, Occur.SHOULD);
+    expected.add(inner.build(), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
 
-    assertEquals(expected, parse("star wars | empire"));
-    assertEquals(expected, parse("star + wars|empire"));
-    assertEquals(expected, parse("star + | wars | ----empire +"));
+    assertEquals(expected.build(), parse("star wars | empire"));
+    assertEquals(expected.build(), parse("star + wars|empire"));
+    assertEquals(expected.build(), parse("star + | wars | ----empire +"));
   }
 
   public void testComplex02() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
     inner.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     inner.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
-    expected.add(inner, Occur.SHOULD);
+    expected.add(inner.build(), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "strikes")), Occur.SHOULD);
 
-    assertEquals(expected, parse("star wars | empire | strikes"));
-    assertEquals(expected, parse("star + wars|empire | strikes"));
-    assertEquals(expected, parse("star + | wars | ----empire | + --strikes \\"));
+    assertEquals(expected.build(), parse("star wars | empire | strikes"));
+    assertEquals(expected.build(), parse("star + wars|empire | strikes"));
+    assertEquals(expected.build(), parse("star + | wars | ----empire | + --strikes \\"));
   }
 
   public void testComplex03() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner = new BooleanQuery();
-    BooleanQuery inner2 = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
     inner2.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     inner2.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
-    inner.add(inner2, Occur.SHOULD);
+    inner.add(inner2.build(), Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
     inner.add(new TermQuery(new Term("field", "strikes")), Occur.SHOULD);
-    expected.add(inner, Occur.MUST);
+    expected.add(inner.build(), Occur.MUST);
     expected.add(new TermQuery(new Term("field", "back")), Occur.MUST);
 
-    assertEquals(expected, parse("star wars | empire | strikes back"));
-    assertEquals(expected, parse("star + wars|empire | strikes + back"));
-    assertEquals(expected, parse("star + | wars | ----empire | + --strikes + | --back \\"));
+    assertEquals(expected.build(), parse("star wars | empire | strikes back"));
+    assertEquals(expected.build(), parse("star + wars|empire | strikes + back"));
+    assertEquals(expected.build(), parse("star + | wars | ----empire | + --strikes + | --back \\"));
   }
 
   public void testComplex04() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner = new BooleanQuery();
-    BooleanQuery inner2 = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
     inner.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     inner.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
     inner2.add(new TermQuery(new Term("field", "strikes")), Occur.MUST);
     inner2.add(new TermQuery(new Term("field", "back")), Occur.MUST);
-    expected.add(inner, Occur.SHOULD);
+    expected.add(inner.build(), Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
-    expected.add(inner2, Occur.SHOULD);
+    expected.add(inner2.build(), Occur.SHOULD);
 
-    assertEquals(expected, parse("(star wars) | empire | (strikes back)"));
-    assertEquals(expected, parse("(star + wars) |empire | (strikes + back)"));
-    assertEquals(expected, parse("(star + | wars |) | ----empire | + --(strikes + | --back) \\"));
+    assertEquals(expected.build(), parse("(star wars) | empire | (strikes back)"));
+    assertEquals(expected.build(), parse("(star + wars) |empire | (strikes + back)"));
+    assertEquals(expected.build(), parse("(star + | wars |) | ----empire | + --(strikes + | --back) \\"));
   }
 
   public void testComplex05() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner1 = new BooleanQuery();
-    BooleanQuery inner2 = new BooleanQuery();
-    BooleanQuery inner3 = new BooleanQuery();
-    BooleanQuery inner4 = new BooleanQuery();
-
-    expected.add(inner1, Occur.SHOULD);
-    expected.add(inner2, Occur.SHOULD);
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner1 = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner3 = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner4 = new BooleanQuery.Builder();
 
     inner1.add(new TermQuery(new Term("field", "star")), Occur.MUST);
     inner1.add(new TermQuery(new Term("field", "wars")), Occur.MUST);
 
     inner2.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
-    inner2.add(inner3, Occur.SHOULD);
 
     inner3.add(new TermQuery(new Term("field", "strikes")), Occur.MUST);
     inner3.add(new TermQuery(new Term("field", "back")), Occur.MUST);
-    inner3.add(inner4, Occur.MUST);
 
     inner4.add(new TermQuery(new Term("field", "jarjar")), Occur.MUST_NOT);
     inner4.add(new MatchAllDocsQuery(), Occur.SHOULD);
 
-    assertEquals(expected, parse("(star wars) | (empire | (strikes back -jarjar))"));
-    assertEquals(expected, parse("(star + wars) |(empire | (strikes + back -jarjar) () )"));
-    assertEquals(expected, parse("(star + | wars |) | --(--empire | + --(strikes + | --back + -jarjar) \"\" ) \""));
+    inner3.add(inner4.build(), Occur.MUST);
+    inner2.add(inner3.build(), Occur.SHOULD);
+    
+    expected.add(inner1.build(), Occur.SHOULD);
+    expected.add(inner2.build(), Occur.SHOULD);
+    
+    assertEquals(expected.build(), parse("(star wars) | (empire | (strikes back -jarjar))"));
+    assertEquals(expected.build(), parse("(star + wars) |(empire | (strikes + back -jarjar) () )"));
+    assertEquals(expected.build(), parse("(star + | wars |) | --(--empire | + --(strikes + | --back + -jarjar) \"\" ) \""));
   }
 
   public void testComplex06() throws Exception {
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery inner1 = new BooleanQuery();
-    BooleanQuery inner2 = new BooleanQuery();
-    BooleanQuery inner3 = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner1 = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner2 = new BooleanQuery.Builder();
+    BooleanQuery.Builder inner3 = new BooleanQuery.Builder();
 
     expected.add(new TermQuery(new Term("field", "star")), Occur.MUST);
-    expected.add(inner1, Occur.MUST);
 
     inner1.add(new TermQuery(new Term("field", "wars")), Occur.SHOULD);
-    inner1.add(inner2, Occur.SHOULD);
 
-    inner2.add(inner3, Occur.MUST);
     inner3.add(new TermQuery(new Term("field", "empire")), Occur.SHOULD);
     inner3.add(new TermQuery(new Term("field", "strikes")), Occur.SHOULD);
+    inner2.add(inner3.build(), Occur.MUST);
+
     inner2.add(new TermQuery(new Term("field", "back")), Occur.MUST);
     inner2.add(new TermQuery(new Term("field", "jar+|jar")), Occur.MUST);
+    inner1.add(inner2.build(), Occur.SHOULD);
+
+    expected.add(inner1.build(), Occur.MUST);
 
-    assertEquals(expected, parse("star (wars | (empire | strikes back jar\\+\\|jar))"));
-    assertEquals(expected, parse("star + (wars |(empire | strikes + back jar\\+\\|jar) () )"));
-    assertEquals(expected, parse("star + (| wars | | --(--empire | + --strikes + | --back + jar\\+\\|jar) \"\" ) \""));
+    assertEquals(expected.build(), parse("star (wars | (empire | strikes back jar\\+\\|jar))"));
+    assertEquals(expected.build(), parse("star + (wars |(empire | strikes + back jar\\+\\|jar) () )"));
+    assertEquals(expected.build(), parse("star + (| wars | | --(--empire | + --strikes + | --back + jar\\+\\|jar) \"\" ) \""));
   }
 
   /** test a term with field weights */
@@ -474,7 +477,8 @@ public class TestSimpleQueryParser exten
     weights.put("field0", 5f);
     weights.put("field1", 10f);
 
-    BooleanQuery expected = new BooleanQuery(true);
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    expected.setDisableCoord(true);
     Query field0 = new TermQuery(new Term("field0", "foo"));
     field0.setBoost(5f);
     expected.add(field0, Occur.SHOULD);
@@ -484,7 +488,7 @@ public class TestSimpleQueryParser exten
 
     Analyzer analyzer = new MockAnalyzer(random());
     SimpleQueryParser parser = new SimpleQueryParser(analyzer, weights);
-    assertEquals(expected, parser.parse("foo"));
+    assertEquals(expected.build(), parser.parse("foo"));
   }
 
   /** test a more complex query with field weights */
@@ -493,28 +497,30 @@ public class TestSimpleQueryParser exten
     weights.put("field0", 5f);
     weights.put("field1", 10f);
 
-    BooleanQuery expected = new BooleanQuery();
-    BooleanQuery foo = new BooleanQuery(true);
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
+    BooleanQuery.Builder foo = new BooleanQuery.Builder();
+    foo.setDisableCoord(true);
     Query field0 = new TermQuery(new Term("field0", "foo"));
     field0.setBoost(5f);
     foo.add(field0, Occur.SHOULD);
     Query field1 = new TermQuery(new Term("field1", "foo"));
     field1.setBoost(10f);
     foo.add(field1, Occur.SHOULD);
-    expected.add(foo, Occur.SHOULD);
+    expected.add(foo.build(), Occur.SHOULD);
 
-    BooleanQuery bar = new BooleanQuery(true);
+    BooleanQuery.Builder bar = new BooleanQuery.Builder();
+    bar.setDisableCoord(true);
     field0 = new TermQuery(new Term("field0", "bar"));
     field0.setBoost(5f);
     bar.add(field0, Occur.SHOULD);
     field1 = new TermQuery(new Term("field1", "bar"));
     field1.setBoost(10f);
     bar.add(field1, Occur.SHOULD);
-    expected.add(bar, Occur.SHOULD);
+    expected.add(bar.build(), Occur.SHOULD);
 
     Analyzer analyzer = new MockAnalyzer(random());
     SimpleQueryParser parser = new SimpleQueryParser(analyzer, weights);
-    assertEquals(expected, parser.parse("foo|bar"));
+    assertEquals(expected.build(), parser.parse("foo|bar"));
   }
 
   /** helper to parse a query with keyword analyzer across "field" */
@@ -593,10 +599,10 @@ public class TestSimpleQueryParser exten
   public void testDisableSlop() {
     PhraseQuery expectedPhrase = new PhraseQuery("field", "foo", "bar");
 
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(expectedPhrase, Occur.MUST);
     expected.add(new TermQuery(new Term("field", "~2")), Occur.MUST);
-    assertEquals(expected, parse("\"foo bar\"~2", ~NEAR_OPERATOR));
+    assertEquals(expected.build(), parse("\"foo bar\"~2", ~NEAR_OPERATOR));
   }
 
   // we aren't supposed to barf on any input...

Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java Wed Jul 29 07:09:39 2015
@@ -275,22 +275,23 @@ public abstract class QueryParserTestBas
     // individual CJK chars as terms
     SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer(); 
     
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expected = new BooleanQuery.Builder();
     expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
     expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
     
-    assertEquals(expected, getQuery("中国", analyzer));
+    assertEquals(expected.build(), getQuery("中国", analyzer));
   }
   
   public void testCJKBoostedTerm() throws Exception {
     // individual CJK chars as terms
     SimpleCJKAnalyzer analyzer = new SimpleCJKAnalyzer();
     
-    BooleanQuery expected = new BooleanQuery();
+    BooleanQuery.Builder expectedB = new BooleanQuery.Builder();
+    expectedB.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
+    expectedB.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
+    Query expected = expectedB.build();
     expected.setBoost(0.5f);
-    expected.add(new TermQuery(new Term("field", "中")), BooleanClause.Occur.SHOULD);
-    expected.add(new TermQuery(new Term("field", "国")), BooleanClause.Occur.SHOULD);
-    
+
     assertEquals(expected, getQuery("中国^0.5", analyzer));
   }
   
@@ -985,11 +986,11 @@ public abstract class QueryParserTestBas
     Query escaped2 = new RegexpQuery(new Term("field", "[a-z]\\*[123]"));
     assertEquals(escaped2, getQuery("/[a-z]\\*[123]/",qp));
     
-    BooleanQuery complex = new BooleanQuery();
+    BooleanQuery.Builder complex = new BooleanQuery.Builder();
     complex.add(new RegexpQuery(new Term("field", "[a-z]\\/[123]")), Occur.MUST);
     complex.add(new TermQuery(new Term("path", "/etc/init.d/")), Occur.MUST);
     complex.add(new TermQuery(new Term("field", "/etc/init[.]d/lucene/")), Occur.SHOULD);
-    assertEquals(complex, getQuery("/[a-z]\\/[123]/ AND path:\"/etc/init.d/\" OR \"/etc\\/init\\[.\\]d/lucene/\" ",qp));
+    assertEquals(complex.build(), getQuery("/[a-z]\\/[123]/ AND path:\"/etc/init.d/\" OR \"/etc\\/init\\[.\\]d/lucene/\" ",qp));
     
     Query re = new RegexpQuery(new Term("field", "http.*"));
     assertEquals(re, getQuery("field:/http.*/",qp));
@@ -1006,11 +1007,11 @@ public abstract class QueryParserTestBas
     assertEquals(new TermQuery(new Term("field", "/boo/")), getQuery("\"/boo/\"",qp));
     assertEquals(new TermQuery(new Term("field", "/boo/")), getQuery("\\/boo\\/",qp));
     
-    BooleanQuery two = new BooleanQuery();
+    BooleanQuery.Builder two = new BooleanQuery.Builder();
     two.add(new RegexpQuery(new Term("field", "foo")), Occur.SHOULD);
     two.add(new RegexpQuery(new Term("field", "bar")), Occur.SHOULD);
-    assertEquals(two, getQuery("field:/foo/ field:/bar/",qp));
-    assertEquals(two, getQuery("/foo/ /bar/",qp));
+    assertEquals(two.build(), getQuery("field:/foo/ field:/bar/",qp));
+    assertEquals(two.build(), getQuery("/foo/ /bar/",qp));
   }
   
   public void testStopwords() throws Exception {
@@ -1018,8 +1019,10 @@ public abstract class QueryParserTestBas
     CommonQueryParserConfiguration qp = getParserConfig(new MockAnalyzer(random(), MockTokenizer.SIMPLE, true, stopSet));
     Query result = getQuery("field:the OR field:foo",qp);
     assertNotNull("result is null and it shouldn't be", result);
-    assertTrue("result is not a BooleanQuery", result instanceof BooleanQuery);
-    assertTrue(((BooleanQuery) result).clauses().size() + " does not equal: " + 0, ((BooleanQuery) result).clauses().size() == 0);
+    assertTrue("result is not a BooleanQuery", result instanceof BooleanQuery || result instanceof MatchNoDocsQuery);
+    if (result instanceof BooleanQuery) {
+      assertEquals(0, ((BooleanQuery) result).clauses().size());
+    }
     result = getQuery("field:woo OR field:the",qp);
     assertNotNull("result is null and it shouldn't be", result);
     assertTrue("result is not a TermQuery", result instanceof TermQuery);
@@ -1052,8 +1055,10 @@ public abstract class QueryParserTestBas
     assertEquals(new MatchAllDocsQuery(), getQuery("*:*",qp));
     assertEquals(new MatchAllDocsQuery(), getQuery("(*:*)",qp));
     BooleanQuery bq = (BooleanQuery)getQuery("+*:* -*:*",qp);
-    assertTrue(bq.getClauses()[0].getQuery() instanceof MatchAllDocsQuery);
-    assertTrue(bq.getClauses()[1].getQuery() instanceof MatchAllDocsQuery);
+    assertEquals(2, bq.clauses().size());
+    for (BooleanClause clause : bq) {
+      assertTrue(clause.getQuery() instanceof MatchAllDocsQuery);
+    }
   }
   
   @SuppressWarnings("unused")
@@ -1272,12 +1277,12 @@ public abstract class QueryParserTestBas
 
   public void testNestedAndClausesFoo() throws Exception {
     String query = "(field1:[1 TO *] AND field1:[* TO 2]) AND field2:(z)";
-    BooleanQuery q = new BooleanQuery();
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder q = new BooleanQuery.Builder();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     bq.add(TermRangeQuery.newStringRange("field1", "1", null, true, true), BooleanClause.Occur.MUST);
     bq.add(TermRangeQuery.newStringRange("field1", null, "2", true, true), BooleanClause.Occur.MUST);
-    q.add(bq, BooleanClause.Occur.MUST);
+    q.add(bq.build(), BooleanClause.Occur.MUST);
     q.add(new TermQuery(new Term("field2", "z")), BooleanClause.Occur.MUST);
-    assertEquals(q, getQuery(query, new MockAnalyzer(random())));
+    assertEquals(q.build(), getQuery(query, new MockAnalyzer(random())));
   }
 }

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInBBoxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInBBoxQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInBBoxQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInBBoxQuery.java Wed Jul 29 07:09:39 2015
@@ -173,7 +173,8 @@ public class BKDPointInBBoxQuery extends
     if (maxLon < minLon) {
 
       // Disable coord here because a multi-valued doc could match both rects and get unfairly boosted:
-      BooleanQuery q = new BooleanQuery(true);
+      BooleanQuery.Builder q = new BooleanQuery.Builder();
+      q.setDisableCoord(true);
 
       // E.g.: maxLon = -179, minLon = 179
       BKDPointInBBoxQuery left = new BKDPointInBBoxQuery(field, minLat, maxLat, BKDTreeWriter.MIN_LON_INCL, maxLon);
@@ -182,7 +183,7 @@ public class BKDPointInBBoxQuery extends
       BKDPointInBBoxQuery right = new BKDPointInBBoxQuery(field, minLat, maxLat, minLon, BKDTreeWriter.MAX_LON_INCL);
       right.setBoost(getBoost());
       q.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
-      return q;
+      return q.build();
     } else {
       return this;
     }

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java Wed Jul 29 07:09:39 2015
@@ -301,7 +301,7 @@ public class FuzzyLikeThisQuery extends
       //clear the list of fields
         fieldVals.clear();
         
-        BooleanQuery bq=new BooleanQuery();
+        BooleanQuery.Builder bq=new BooleanQuery.Builder();
         
         
         //create BooleanQueries to hold the variants for each token/field pair and ensure it
@@ -334,7 +334,8 @@ public class FuzzyLikeThisQuery extends
             }
             else
             {
-                BooleanQuery termVariants=new BooleanQuery(true); //disable coord and IDF for these term variants
+                BooleanQuery.Builder termVariants=new BooleanQuery.Builder();
+                termVariants.setDisableCoord(true); //disable coord and IDF for these term variants
                 for (Iterator<ScoreTerm> iterator2 = variants.iterator(); iterator2
                         .hasNext();)
                 {
@@ -344,14 +345,15 @@ public class FuzzyLikeThisQuery extends
                     tq.setBoost(st.score); // set the boost using the ScoreTerm's score
                     termVariants.add(tq, BooleanClause.Occur.SHOULD);          // add to query                    
                 }
-                bq.add(termVariants, BooleanClause.Occur.SHOULD);          // add to query
+                bq.add(termVariants.build(), BooleanClause.Occur.SHOULD);          // add to query
             }
         }
         //TODO possible alternative step 3 - organize above booleans into a new layer of field-based
         // booleans with a minimum-should-match of NumFields-1?
-        bq.setBoost(getBoost());
-        this.rewrittenQuery=bq;
-        return bq;
+        Query q = bq.build();
+        q.setBoost(getBoost());
+        this.rewrittenQuery=q;
+        return q;
     }
     
     //Holds info for a fuzzy term variant - initially score is set to edit distance (for ranking best

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java Wed Jul 29 07:09:39 2015
@@ -72,7 +72,7 @@ public final class GeoPointDistanceQuery
   @Override
   public Query rewrite(IndexReader reader) {
     if (maxLon < minLon) {
-      BooleanQuery bq = new BooleanQuery();
+      BooleanQuery.Builder bq = new BooleanQuery.Builder();
 
       GeoPointDistanceQueryImpl left = new GeoPointDistanceQueryImpl(field, this, new GeoBoundingBox(-180.0D, maxLon,
           minLat, maxLat));
@@ -82,7 +82,7 @@ public final class GeoPointDistanceQuery
           minLat, maxLat));
       right.setBoost(getBoost());
       bq.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
-      return bq;
+      return bq.build();
     }
     return new GeoPointDistanceQueryImpl(field, this, new GeoBoundingBox(this.minLon, this.maxLon, this.minLat, this.maxLat));
   }

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java Wed Jul 29 07:09:39 2015
@@ -57,7 +57,7 @@ public class GeoPointInBBoxQuery extends
   @Override
   public Query rewrite(IndexReader reader) {
     if (maxLon < minLon) {
-      BooleanQuery bq = new BooleanQuery();
+      BooleanQuery.Builder bq = new BooleanQuery.Builder();
 
       GeoPointInBBoxQueryImpl left = new GeoPointInBBoxQueryImpl(field, -180.0D, minLat, maxLon, maxLat);
       left.setBoost(getBoost());
@@ -65,7 +65,7 @@ public class GeoPointInBBoxQuery extends
       GeoPointInBBoxQueryImpl right = new GeoPointInBBoxQueryImpl(field, minLon, minLat, 180.0D, maxLat);
       right.setBoost(getBoost());
       bq.add(new BooleanClause(right, BooleanClause.Occur.SHOULD));
-      return bq;
+      return bq.build();
     }
     return new GeoPointInBBoxQueryImpl(field, minLon, minLat, maxLon, maxLat);
   }

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java Wed Jul 29 07:09:39 2015
@@ -90,11 +90,11 @@ public class TestDocValuesNumbersQuery e
           queryNumbers.add(number);
           queryNumbersX2.add(2*number);
         }
-        final BooleanQuery bq = new BooleanQuery();
+        final BooleanQuery.Builder bq = new BooleanQuery.Builder();
         for (Long number : queryNumbers) {
           bq.add(new TermQuery(new Term("text", number.toString())), Occur.SHOULD);
         }
-        Query q1 = new ConstantScoreQuery(bq);
+        Query q1 = new ConstantScoreQuery(bq.build());
         q1.setBoost(boost);
 
         Query q2 = new DocValuesNumbersQuery("long", queryNumbers);
@@ -154,24 +154,24 @@ public class TestDocValuesNumbersQuery e
         for (int j = 0; j < numQueryNumbers; ++j) {
           queryNumbers.add(allNumbers.get(random().nextInt(allNumbers.size())));
         }
-        final BooleanQuery bq = new BooleanQuery();
+        final BooleanQuery.Builder bq = new BooleanQuery.Builder();
         for (Long number : queryNumbers) {
           bq.add(new TermQuery(new Term("text", number.toString())), Occur.SHOULD);
         }
-        Query q1 = new ConstantScoreQuery(bq);
+        Query q1 = new ConstantScoreQuery(bq.build());
         q1.setBoost(boost);
         final Query q2 = new DocValuesNumbersQuery("long", queryNumbers);
         q2.setBoost(boost);
 
-        BooleanQuery bq1 = new BooleanQuery();
+        BooleanQuery.Builder bq1 = new BooleanQuery.Builder();
         bq1.add(q1, Occur.MUST);
         bq1.add(new TermQuery(new Term("text", allNumbers.get(0).toString())), Occur.FILTER);
 
-        BooleanQuery bq2 = new BooleanQuery();
+        BooleanQuery.Builder bq2 = new BooleanQuery.Builder();
         bq2.add(q2, Occur.MUST);
         bq2.add(new TermQuery(new Term("text", allNumbers.get(0).toString())), Occur.FILTER);
 
-        assertSameMatches(searcher, bq1, bq2, true);
+        assertSameMatches(searcher, bq1.build(), bq2.build(), true);
       }
 
       reader.close();

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java Wed Jul 29 07:09:39 2015
@@ -203,21 +203,21 @@ public class TestDocValuesRangeQuery ext
       final boolean minInclusive = random().nextBoolean();
       final boolean maxInclusive = random().nextBoolean();
 
-      BooleanQuery ref = new BooleanQuery();
+      BooleanQuery.Builder ref = new BooleanQuery.Builder();
       ref.add(NumericRangeQuery.newLongRange("idx", min, max, minInclusive, maxInclusive), Occur.FILTER);
       ref.add(new TermQuery(new Term("f", "a")), Occur.MUST);
 
-      BooleanQuery bq1 = new BooleanQuery();
+      BooleanQuery.Builder bq1 = new BooleanQuery.Builder();
       bq1.add(DocValuesRangeQuery.newLongRange("dv1", min, max, minInclusive, maxInclusive), Occur.FILTER);
       bq1.add(new TermQuery(new Term("f", "a")), Occur.MUST);
 
-      assertSameMatches(searcher, ref, bq1, true);
+      assertSameMatches(searcher, ref.build(), bq1.build(), true);
 
-      BooleanQuery bq2 = new BooleanQuery();
+      BooleanQuery.Builder bq2 = new BooleanQuery.Builder();
       bq2.add(DocValuesRangeQuery.newBytesRefRange("dv2", toSortableBytes(min), toSortableBytes(max), minInclusive, maxInclusive), Occur.FILTER);
       bq2.add(new TermQuery(new Term("f", "a")), Occur.MUST);
 
-      assertSameMatches(searcher, ref, bq2, true);
+      assertSameMatches(searcher, ref.build(), bq2.build(), true);
     }
 
     reader.close();

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java Wed Jul 29 07:09:39 2015
@@ -84,11 +84,11 @@ public class TestDocValuesTermsQuery ext
         for (int j = 0; j < numQueryTerms; ++j) {
           queryTerms.add(allTerms.get(random().nextInt(allTerms.size())));
         }
-        final BooleanQuery bq = new BooleanQuery();
+        final BooleanQuery.Builder bq = new BooleanQuery.Builder();
         for (Term term : queryTerms) {
           bq.add(new TermQuery(term), Occur.SHOULD);
         }
-        Query q1 = new ConstantScoreQuery(bq);
+        Query q1 = new ConstantScoreQuery(bq.build());
         q1.setBoost(boost);
         List<String> bytesTerms = new ArrayList<>();
         for (Term term : queryTerms) {
@@ -196,11 +196,11 @@ public class TestDocValuesTermsQuery ext
         for (int j = 0; j < numQueryTerms; ++j) {
           queryTerms.add(allTerms.get(random().nextInt(allTerms.size())));
         }
-        final BooleanQuery bq = new BooleanQuery();
+        final BooleanQuery.Builder bq = new BooleanQuery.Builder();
         for (Term term : queryTerms) {
           bq.add(new TermQuery(term), Occur.SHOULD);
         }
-        Query q1 = new ConstantScoreQuery(bq);
+        Query q1 = new ConstantScoreQuery(bq.build());
         q1.setBoost(boost);
         List<String> bytesTerms = new ArrayList<>();
         for (Term term : queryTerms) {
@@ -209,15 +209,15 @@ public class TestDocValuesTermsQuery ext
         final Query q2 = new DocValuesTermsQuery("f", bytesTerms.toArray(new String[0]));
         q2.setBoost(boost);
 
-        BooleanQuery bq1 = new BooleanQuery();
+        BooleanQuery.Builder bq1 = new BooleanQuery.Builder();
         bq1.add(q1, Occur.MUST);
         bq1.add(new TermQuery(allTerms.get(0)), Occur.FILTER);
 
-        BooleanQuery bq2 = new BooleanQuery();
+        BooleanQuery.Builder bq2 = new BooleanQuery.Builder();
         bq2.add(q2, Occur.MUST);
         bq2.add(new TermQuery(allTerms.get(0)), Occur.FILTER);
 
-        assertSameMatches(searcher, bq1, bq2, true);
+        assertSameMatches(searcher, bq1.build(), bq2.build(), true);
       }
 
       reader.close();

Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java Wed Jul 29 07:09:39 2015
@@ -513,7 +513,7 @@ public class TestTermAutomatonQuery exte
       // Build the (finite, no any transitions) TermAutomatonQuery and
       // also the "equivalent" BooleanQuery and make sure they match the
       // same docs:
-      BooleanQuery bq = new BooleanQuery();
+      BooleanQuery.Builder bq = new BooleanQuery.Builder();
       int count = TestUtil.nextInt(random(), 1, 5);
       Set<BytesRef> strings = new HashSet<>();
       for(int i=0;i<count;i++) {
@@ -578,7 +578,7 @@ public class TestTermAutomatonQuery exte
       }
       
       Query q1 = q;
-      Query q2 = bq;
+      Query q2 = bq.build();
       if (random().nextInt(5) == 1) {
         if (VERBOSE) {
           System.out.println("  use random filter");

Modified: lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java (original)
+++ lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java Wed Jul 29 07:09:39 2015
@@ -349,17 +349,17 @@ public class BBoxStrategy extends Spatia
       // docMinX > queryExtent.getMaxX() OR docMaxX < queryExtent.getMinX()
       Query qMinX = NumericRangeQuery.newDoubleRange(field_minX, getPrecisionStep(), bbox.getMaxX(), null, false, false);
       if (bbox.getMinX() == -180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
-        BooleanQuery bq = new BooleanQuery();
+        BooleanQuery.Builder bq = new BooleanQuery.Builder();
         bq.add(qMinX, BooleanClause.Occur.MUST);
         bq.add(makeNumberTermQuery(field_maxX, 180.0), BooleanClause.Occur.MUST_NOT);
-        qMinX = bq;
+        qMinX = bq.build();
       }
       Query qMaxX = NumericRangeQuery.newDoubleRange(field_maxX, getPrecisionStep(), null, bbox.getMinX(), false, false);
       if (bbox.getMaxX() == 180.0 && ctx.isGeo()) {//touches dateline; -180 == 180
-        BooleanQuery bq = new BooleanQuery();
+        BooleanQuery.Builder bq = new BooleanQuery.Builder();
         bq.add(qMaxX, BooleanClause.Occur.MUST);
         bq.add(makeNumberTermQuery(field_minX, -180.0), BooleanClause.Occur.MUST_NOT);
-        qMaxX = bq;
+        qMaxX = bq.build();
       }
       Query qMinMax = this.makeQuery(BooleanClause.Occur.SHOULD, qMinX, qMaxX);
       Query qNonXDL = this.makeXDL(false, qMinMax);
@@ -445,7 +445,7 @@ public class BBoxStrategy extends Spatia
       qHasEnv = this.makeXDL(false);
     }
 
-    BooleanQuery qNotDisjoint = new BooleanQuery();
+    BooleanQuery.Builder qNotDisjoint = new BooleanQuery.Builder();
     qNotDisjoint.add(qHasEnv, BooleanClause.Occur.MUST);
     Query qDisjoint = makeDisjoint(bbox);
     qNotDisjoint.add(qDisjoint, BooleanClause.Occur.MUST_NOT);
@@ -454,7 +454,7 @@ public class BBoxStrategy extends Spatia
     //BooleanQuery qNotDisjoint = new BooleanQuery();
     //qNotDisjoint.add(new MatchAllDocsQuery(),BooleanClause.Occur.SHOULD);
     //qNotDisjoint.add(qDisjoint,BooleanClause.Occur.MUST_NOT);
-    return qNotDisjoint;
+    return qNotDisjoint.build();
   }
 
   /**
@@ -465,12 +465,12 @@ public class BBoxStrategy extends Spatia
    * @return the query
    */
   BooleanQuery makeQuery(BooleanClause.Occur occur, Query... queries) {
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     for (Query query : queries) {
       if (query != null)
         bq.add(query, occur);
     }
-    return bq;
+    return bq.build();
   }
 
   /**
@@ -581,10 +581,10 @@ public class BBoxStrategy extends Spatia
       assert !crossedDateLine;
       return query;
     }
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     bq.add(this.makeXDL(crossedDateLine), BooleanClause.Occur.MUST);
     bq.add(query, BooleanClause.Occur.MUST);
-    return bq;
+    return bq.build();
   }
 
   private Query makeNumberTermQuery(String field, double number) {

Modified: lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java (original)
+++ lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java Wed Jul 29 07:09:39 2015
@@ -220,17 +220,17 @@ public class PointVectorStrategy extends
       valueSource = makeDistanceValueSource(shape.getCenter());
     }
     Query spatialRankingQuery = new FunctionQuery(valueSource);
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     bq.add(spatial,BooleanClause.Occur.MUST);
     bq.add(spatialRankingQuery,BooleanClause.Occur.MUST);
-    return bq;
+    return bq.build();
   }
 
   /**
    * Constructs a query to retrieve documents that fully contain the input envelope.
    */
   private Query makeWithin(Rectangle bbox) {
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     BooleanClause.Occur MUST = BooleanClause.Occur.MUST;
     if (bbox.getCrossesDateLine()) {
       //use null as performance trick since no data will be beyond the world bounds
@@ -241,7 +241,7 @@ public class PointVectorStrategy extends
       bq.add(rangeQuery(fieldNameX, bbox.getMinX(), bbox.getMaxX()), MUST);
     }
     bq.add(rangeQuery(fieldNameY, bbox.getMinY(), bbox.getMaxY()), MUST);
-    return bq;
+    return bq.build();
   }
 
   private NumericRangeQuery<Double> rangeQuery(String fieldName, Double min, Double max) {
@@ -263,10 +263,10 @@ public class PointVectorStrategy extends
     Query qX = rangeQuery(fieldNameX, bbox.getMinX(), bbox.getMaxX());
     Query qY = rangeQuery(fieldNameY, bbox.getMinY(), bbox.getMaxY());
 
-    BooleanQuery bq = new BooleanQuery();
+    BooleanQuery.Builder bq = new BooleanQuery.Builder();
     bq.add(qX,BooleanClause.Occur.MUST_NOT);
     bq.add(qY,BooleanClause.Occur.MUST_NOT);
-    return bq;
+    return bq.build();
   }
 
 }

Modified: lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java?rev=1693190&r1=1693189&r2=1693190&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java (original)
+++ lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java Wed Jul 29 07:09:39 2015
@@ -334,7 +334,7 @@ public class SpellChecker implements jav
         return new String[] { word };
       }
 
-      BooleanQuery query = new BooleanQuery();
+      BooleanQuery.Builder query = new BooleanQuery.Builder();
       String[] grams;
       String key;
 
@@ -364,7 +364,7 @@ public class SpellChecker implements jav
       int maxHits = 10 * numSug;
 
   //    System.out.println("Q: " + query);
-      ScoreDoc[] hits = indexSearcher.search(query, maxHits).scoreDocs;
+      ScoreDoc[] hits = indexSearcher.search(query.build(), maxHits).scoreDocs;
   //    System.out.println("HITS: " + hits.length());
       SuggestWordQueue sugQueue = new SuggestWordQueue(numSug, comparator);
 
@@ -415,7 +415,7 @@ public class SpellChecker implements jav
   /**
    * Add a clause to a boolean query.
    */
-  private static void add(BooleanQuery q, String name, String value, float boost) {
+  private static void add(BooleanQuery.Builder q, String name, String value, float boost) {
     Query tq = new TermQuery(new Term(name, value));
     tq.setBoost(boost);
     q.add(new BooleanClause(tq, BooleanClause.Occur.SHOULD));
@@ -424,7 +424,7 @@ public class SpellChecker implements jav
   /**
    * Add a clause to a boolean query.
    */
-  private static void add(BooleanQuery q, String name, String value) {
+  private static void add(BooleanQuery.Builder q, String name, String value) {
     q.add(new BooleanClause(new TermQuery(new Term(name, value)), BooleanClause.Occur.SHOULD));
   }