Return-Path: Delivered-To: apmail-lucene-java-commits-archive@www.apache.org Received: (qmail 68006 invoked from network); 8 Mar 2010 21:02:40 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 8 Mar 2010 21:02:40 -0000 Received: (qmail 18323 invoked by uid 500); 8 Mar 2010 21:02:15 -0000 Delivered-To: apmail-lucene-java-commits-archive@lucene.apache.org Received: (qmail 18278 invoked by uid 500); 8 Mar 2010 21:02:15 -0000 Mailing-List: contact java-commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-commits@lucene.apache.org Received: (qmail 18271 invoked by uid 99); 8 Mar 2010 21:02:15 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Mar 2010 21:02:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Mar 2010 21:02:07 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 1D55D23888D1; Mon, 8 Mar 2010 21:01:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r920508 - in /lucene/java/branches/flex_1458: ./ contrib/ contrib/highlighter/src/test/ contrib/instantiated/src/test/org/apache/lucene/store/instantiated/ src/java/org/apache/lucene/analysis/ src/java/org/apache/lucene/index/ src/java/org/... Date: Mon, 08 Mar 2010 21:01:43 -0000 To: java-commits@lucene.apache.org From: rmuir@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100308210144.1D55D23888D1@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rmuir Date: Mon Mar 8 21:01:43 2010 New Revision: 920508 URL: http://svn.apache.org/viewvc?rev=920508&view=rev Log: merge up to rev 920499 Modified: lucene/java/branches/flex_1458/ (props changed) lucene/java/branches/flex_1458/CHANGES.txt lucene/java/branches/flex_1458/build.xml (props changed) lucene/java/branches/flex_1458/contrib/ (props changed) lucene/java/branches/flex_1458/contrib/CHANGES.txt (props changed) lucene/java/branches/flex_1458/contrib/highlighter/src/test/ (props changed) lucene/java/branches/flex_1458/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java (props changed) lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/Tokenizer.java (props changed) lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestDateTools.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestNumberTools.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/TestAttributeSource.java (props changed) Propchange: lucene/java/branches/flex_1458/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -2,4 +2,4 @@ /lucene/java/branches/lucene_2_9:817269-818600,829134,829881,831036,896850,909334 /lucene/java/branches/lucene_2_9_back_compat_tests:818601-821336 /lucene/java/branches/lucene_3_0:880793,896906 -/lucene/java/trunk:824912-825292,827043-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk:824912-825292,827043-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Modified: lucene/java/branches/flex_1458/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/CHANGES.txt?rev=920508&r1=920507&r2=920508&view=diff ============================================================================== --- lucene/java/branches/flex_1458/CHANGES.txt (original) +++ lucene/java/branches/flex_1458/CHANGES.txt Mon Mar 8 21:01:43 2010 @@ -96,6 +96,12 @@ callers can use to query whether a certain file matches a certain extension. (Shai Erera via Mike McCandless) +* LUCENE-124: Add a TopTermsBoostOnlyBooleanQueryRewrite to MultiTermQuery. + This rewrite method is similar to TopTermsScoringBooleanQueryRewrite, but + only scores terms by their boost values. For example, this can be used + with FuzzyQuery to ensure that exact matches are always scored higher, + because only the boost will be used in scoring. (Robert Muir) + Bug fixes * LUCENE-2119: Don't throw NegativeArraySizeException if you pass @@ -126,6 +132,11 @@ the configured RAM Buffer Size for the IndexWriter. This also fixes potentially excessive memory usage when many threads are indexing a mix of small and large documents. (Tim Smith via Mike McCandless) + +* LUCENE-2300: If IndexWriter is pooling reader (because NRT reader + has been obtained), and addIndexes* is run, do not pool the + readers from the external directory. This is harmless (NRT reader is + correct), but a waste of resources. (Mike McCandless) New features Propchange: lucene/java/branches/flex_1458/build.xml ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,2 +1,2 @@ /lucene/java/branches/lucene_2_9/build.xml:909334 -/lucene/java/trunk/build.xml:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/build.xml:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/contrib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -2,4 +2,4 @@ /lucene/java/branches/lucene_2_9/contrib:817269-818600,825998,829134,829816,829881,831036,896850,909334 /lucene/java/branches/lucene_2_9_back_compat_tests/contrib:818601-821336 /lucene/java/branches/lucene_3_0/contrib:880793,896906 -/lucene/java/trunk/contrib:824912-825292,827043-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/contrib:824912-825292,827043-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/contrib/CHANGES.txt ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -2,4 +2,4 @@ /lucene/java/branches/lucene_2_9/contrib/CHANGES.txt:817269-818600,825998,826775,829134,829816,829881,831036,896850 /lucene/java/branches/lucene_2_9_back_compat_tests/contrib/CHANGES.txt:818601-821336 /lucene/java/branches/lucene_3_0/contrib/CHANGES.txt:880793,896906 -/lucene/java/trunk/contrib/CHANGES.txt:829439-833960,880727-886190,889185,889622,889667,889866-899001,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/contrib/CHANGES.txt:829439-833960,880727-886190,889185,889622,889667,889866-899001,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/contrib/highlighter/src/test/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -2,4 +2,4 @@ /lucene/java/branches/lucene_2_9/contrib/highlighter/src/test:817269-818600,825998,826775,829134,829816,829881,831036,896850,909334 /lucene/java/branches/lucene_2_9_back_compat_tests/contrib/highlighter/src/test:818601-821336 /lucene/java/branches/lucene_3_0/contrib/highlighter/src/test:880793,896906 -/lucene/java/trunk/contrib/highlighter/src/test:829439-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/contrib/highlighter/src/test:829439-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,2 +1,2 @@ /lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:909334 -/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/Tokenizer.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,2 +1,2 @@ /lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/analysis/Tokenizer.java:909334 -/lucene/java/trunk/src/java/org/apache/lucene/analysis/Tokenizer.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/java/org/apache/lucene/analysis/Tokenizer.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java?rev=920508&r1=920507&r2=920508&view=diff ============================================================================== --- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java (original) +++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java Mon Mar 8 21:01:43 2010 @@ -479,7 +479,8 @@ assert !pooled | readerMap.get(sr.getSegmentInfo()) == sr; - // Drop caller's ref + // Drop caller's ref; for an external reader (not + // pooled), this decRef will close it sr.decRef(); if (pooled && (drop || (!poolReaders && sr.getRefCount() == 1))) { @@ -615,7 +616,11 @@ // synchronized // Returns a ref, which we xfer to readerMap: sr = SegmentReader.get(false, info.dir, info, readBufferSize, doOpenStores, termsIndexDivisor, codecs); - readerMap.put(info, sr); + + if (info.dir == directory) { + // Only pool if reader is not external + readerMap.put(info, sr); + } } else { if (doOpenStores) { sr.openDocStores(); @@ -632,7 +637,10 @@ } // Return a ref to our caller - sr.incRef(); + if (info.dir == directory) { + // Only incRef if we pooledd (reader is not external) + sr.incRef(); + } return sr; } Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQuery.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQuery.java?rev=920508&r1=920507&r2=920508&view=diff ============================================================================== --- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQuery.java (original) +++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQuery.java Mon Mar 8 21:01:43 2010 @@ -301,38 +301,36 @@ * @see #setRewriteMethod */ public final static RewriteMethod SCORING_BOOLEAN_QUERY_REWRITE = new ScoringBooleanQueryRewrite(); - /** A rewrite method that first translates each term into - * {@link BooleanClause.Occur#SHOULD} clause in a - * BooleanQuery, and keeps the scores as computed by the - * query. - * - *

This rewrite mode only uses the top scoring terms - * so it will not overflow the boolean max clause count. - * It is the default rewrite mode for {@link FuzzyQuery}. - * - * @see #setRewriteMethod */ - public static final class TopTermsScoringBooleanQueryRewrite extends BooleanQueryRewrite { + + /** + * Base rewrite method for collecting only the top terms + * via a priority queue. + */ + public static abstract class TopTermsBooleanQueryRewrite extends BooleanQueryRewrite { private final int size; /** - * Create a TopTermsScoringBooleanQueryRewrite for + * Create a TopTermsBooleanQueryRewrite for * at most size terms. *

* NOTE: if {@link BooleanQuery#getMaxClauseCount} is smaller than * size, then it will be used instead. */ - public TopTermsScoringBooleanQueryRewrite(int size) { + public TopTermsBooleanQueryRewrite(int size) { this.size = size; } /** - * Create a TopTermsScoringBooleanQueryRewrite that is limited + * Create a TopTermsBooleanQueryRewrite that is limited * to at most {@link BooleanQuery#getMaxClauseCount} terms. */ - public TopTermsScoringBooleanQueryRewrite() { + public TopTermsBooleanQueryRewrite() { this(Integer.MAX_VALUE); } + /** Return a suitable Query for a MultiTermQuery term. */ + protected abstract Query getQuery(Term term); + @Override public Query rewrite(IndexReader reader, MultiTermQuery query) throws IOException { final int maxSize = Math.min(size, BooleanQuery.getMaxClauseCount()); @@ -358,7 +356,7 @@ final BooleanQuery bq = new BooleanQuery(true); for (final ScoreTerm st : stQueue) { - TermQuery tq = new TermQuery(st.term); // found a match + Query tq = getQuery(st.term); // found a match tq.setBoost(query.getBoost() * st.boost); // set the boost bq.add(tq, BooleanClause.Occur.SHOULD); // add to query } @@ -379,7 +377,7 @@ if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; - TopTermsScoringBooleanQueryRewrite other = (TopTermsScoringBooleanQueryRewrite) obj; + TopTermsBooleanQueryRewrite other = (TopTermsBooleanQueryRewrite) obj; if (size != other.size) return false; return true; } @@ -397,6 +395,84 @@ } } + /** + * A rewrite method that first translates each term into + * {@link BooleanClause.Occur#SHOULD} clause in a BooleanQuery, and keeps the + * scores as computed by the query. + * + *

+ * This rewrite mode only uses the top scoring terms so it will not overflow + * the boolean max clause count. It is the default rewrite mode for + * {@link FuzzyQuery}. + * + * @see #setRewriteMethod + */ + 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 size terms. + *

+ * NOTE: if {@link BooleanQuery#getMaxClauseCount} is smaller than + * size, then it will be used instead. + */ + public TopTermsScoringBooleanQueryRewrite(int size) { + super(size); + } + + @Override + protected Query getQuery(Term term) { + return new TermQuery(term); + } + } + + /** + * A rewrite method that first translates each term into + * {@link BooleanClause.Occur#SHOULD} clause in a BooleanQuery, but the scores + * are only computed as the boost. + *

+ * This rewrite method only uses the top scoring terms so it will not overflow + * the boolean max clause count. + * + * @see #setRewriteMethod + */ + 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 size terms. + *

+ * NOTE: if {@link BooleanQuery#getMaxClauseCount} is smaller than + * size, then it will be used instead. + */ + public TopTermsBoostOnlyBooleanQueryRewrite(int size) { + super(size); + } + + @Override + protected Query getQuery(Term term) { + return new ConstantScoreQuery(new QueryWrapperFilter(new TermQuery(term))); + } + } + private static class ConstantScoreBooleanQueryRewrite extends ScoringBooleanQueryRewrite implements Serializable { @Override public Query rewrite(IndexReader reader, MultiTermQuery query) throws IOException { Propchange: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,2 +1,2 @@ /lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:909334 -/lucene/java/trunk/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,4 +1,4 @@ /lucene/java/branches/lucene_2_4/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:748824 /lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:829134,829881,831036,896850,909334 /lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:880793,896906 -/lucene/java/trunk/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestDateTools.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,4 +1,4 @@ /lucene/java/branches/lucene_2_4/src/test/org/apache/lucene/document/TestDateTools.java:748824 /lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestDateTools.java:829134,829881,831036,896850,909334 /lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestDateTools.java:880793,896906 -/lucene/java/trunk/src/test/org/apache/lucene/document/TestDateTools.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/test/org/apache/lucene/document/TestDateTools.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestNumberTools.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,4 +1,4 @@ /lucene/java/branches/lucene_2_4/src/test/org/apache/lucene/document/TestNumberTools.java:748824 /lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestNumberTools.java:829134,829881,831036,896850,909334 /lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestNumberTools.java:880793,896906 -/lucene/java/trunk/src/test/org/apache/lucene/document/TestNumberTools.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/test/org/apache/lucene/document/TestNumberTools.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,4 +1,4 @@ /lucene/java/branches/lucene_2_4/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:748824 /lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:829134,829881,831036,896850,909334 /lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:880793,896906 -/lucene/java/trunk/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:824912-825292,826213-833960,880727-886190,889185,889614-916543,916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499 Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java?rev=920508&r1=920507&r2=920508&view=diff ============================================================================== --- lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java (original) +++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java Mon Mar 8 21:01:43 2010 @@ -311,6 +311,30 @@ assertEquals(0, hits.length); } + /** Test the TopTermsBoostOnlyBooleanQueryRewrite rewrite method. */ + public void testBoostOnlyRewrite() throws Exception { + RAMDirectory directory = new RAMDirectory(); + IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(TEST_VERSION_CURRENT), + true, IndexWriter.MaxFieldLength.LIMITED); + addDoc("Lucene", writer); + addDoc("Lucene", writer); + addDoc("Lucenne", writer); + writer.optimize(); + writer.close(); + IndexSearcher searcher = new IndexSearcher(directory, true); + IndexReader reader = searcher.getIndexReader(); + FuzzyQuery query = new FuzzyQuery(new Term("field", "Lucene")); + query.setRewriteMethod(new MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite()); + 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. + assertEquals("Lucene", reader.document(hits[0].doc).get("field")); + assertEquals("Lucene", reader.document(hits[1].doc).get("field")); + assertEquals("Lucenne", reader.document(hits[2].doc).get("field")); + searcher.close(); + reader.close(); + } + public void testGiga() throws Exception { StandardAnalyzer analyzer = new StandardAnalyzer(TEST_VERSION_CURRENT); Propchange: lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/TestAttributeSource.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Mar 8 21:01:43 2010 @@ -1,2 +1,2 @@ /lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/util/TestAttributeSource.java:909334 -/lucene/java/trunk/src/test/org/apache/lucene/util/TestAttributeSource.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237 +/lucene/java/trunk/src/test/org/apache/lucene/util/TestAttributeSource.java:916596,916685,916755,916769,917019,917148,917154,917161,917203-917204,919060,919119,919718,919731,919869,920237-920499