mirror of https://github.com/apache/lucene.git
LUCENE-2687: Remove pq trap in MultiTermQuery.TopTermsBooleanQueryRewrite
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1005310 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
42d5b585ce
commit
51d4dcd582
|
@ -682,8 +682,7 @@ Optimizations
|
|||
|
||||
* LUCENE-2123, LUCENE-2261: Move FuzzyQuery rewrite to separate RewriteMode
|
||||
into MultiTermQuery. The number of fuzzy expansions can be specified with
|
||||
the maxExpansions parameter to FuzzyQuery, but the default is limited to
|
||||
BooleanQuery.maxClauseCount() as before.
|
||||
the maxExpansions parameter to FuzzyQuery.
|
||||
(Uwe Schindler, Robert Muir, Mike McCandless)
|
||||
|
||||
* LUCENE-2164: ConcurrentMergeScheduler has more control over merge
|
||||
|
|
|
@ -283,14 +283,6 @@ public abstract class MultiTermQuery extends Query {
|
|||
this.size = size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a TopTermsBooleanQueryRewrite that is limited
|
||||
* to at most {@link BooleanQuery#getMaxClauseCount} terms.
|
||||
*/
|
||||
public TopTermsBooleanQueryRewrite() {
|
||||
this(Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
/** Return a suitable Query for a MultiTermQuery term. */
|
||||
protected abstract Query getQuery(Term term, int docCount);
|
||||
|
||||
|
@ -379,14 +371,6 @@ public abstract class MultiTermQuery extends Query {
|
|||
public static final class TopTermsScoringBooleanQueryRewrite extends
|
||||
TopTermsBooleanQueryRewrite {
|
||||
|
||||
/**
|
||||
* Create a TopTermsScoringBooleanQueryRewrite that is limited
|
||||
* to at most {@link BooleanQuery#getMaxClauseCount} terms.
|
||||
*/
|
||||
public TopTermsScoringBooleanQueryRewrite() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a TopTermsScoringBooleanQueryRewrite for
|
||||
* at most <code>size</code> terms.
|
||||
|
@ -417,14 +401,6 @@ public abstract class MultiTermQuery extends Query {
|
|||
public static final class TopTermsBoostOnlyBooleanQueryRewrite extends
|
||||
TopTermsBooleanQueryRewrite {
|
||||
|
||||
/**
|
||||
* Create a TopTermsBoostOnlyBooleanQueryRewrite that is limited
|
||||
* to at most {@link BooleanQuery#getMaxClauseCount} terms.
|
||||
*/
|
||||
public TopTermsBoostOnlyBooleanQueryRewrite() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a TopTermsBoostOnlyBooleanQueryRewrite for
|
||||
* at most <code>size</code> terms.
|
||||
|
|
|
@ -329,7 +329,7 @@ public class TestFuzzyQuery extends LuceneTestCase {
|
|||
writer.close();
|
||||
|
||||
FuzzyQuery query = new FuzzyQuery(new Term("field", "lucene"));
|
||||
query.setRewriteMethod(new MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite());
|
||||
query.setRewriteMethod(new MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite(50));
|
||||
ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
|
||||
assertEquals(3, hits.length);
|
||||
// normally, 'Lucenne' would be the first result as IDF will skew the score.
|
||||
|
|
|
@ -138,7 +138,7 @@ public class TestTermRangeQuery extends LuceneTestCase {
|
|||
}
|
||||
|
||||
private void checkBooleanTerms(Searcher searcher, TermRangeQuery query, String... terms) throws IOException {
|
||||
query.setRewriteMethod(new MultiTermQuery.TopTermsScoringBooleanQueryRewrite());
|
||||
query.setRewriteMethod(new MultiTermQuery.TopTermsScoringBooleanQueryRewrite(50));
|
||||
final BooleanQuery bq = (BooleanQuery) searcher.rewrite(query);
|
||||
final Set<String> allowedTerms = new HashSet<String>(Arrays.asList(terms));
|
||||
assertEquals(allowedTerms.size(), bq.clauses().size());
|
||||
|
|
Loading…
Reference in New Issue