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));
}