Good idea, I just backported it. Mike McCandless
http://blog.mikemccandless.com On Tue, Sep 24, 2013 at 9:35 AM, Robert Muir <[email protected]> wrote: > Can we backport this test to 4.x? > > On Tue, Sep 24, 2013 at 4:10 AM, <[email protected]> wrote: >> Author: mikemccand >> Date: Tue Sep 24 11:10:18 2013 >> New Revision: 1525851 >> >> URL: http://svn.apache.org/r1525851 >> Log: >> LUCENE-5239: don't delete same term for the wrong field >> >> Modified: >> >> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java >> >> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java >> >> Modified: >> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java >> URL: >> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java?rev=1525851&r1=1525850&r2=1525851&view=diff >> ============================================================================== >> --- >> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java >> (original) >> +++ >> lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FreqProxTermsWriter.java >> Tue Sep 24 11:10:18 2013 >> @@ -47,6 +47,8 @@ final class FreqProxTermsWriter extends >> Terms terms = fields.terms(lastField); >> if (terms != null) { >> termsEnum = terms.iterator(termsEnum); >> + } else { >> + termsEnum = null; >> } >> } >> >> >> Modified: >> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java >> URL: >> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1525851&r1=1525850&r2=1525851&view=diff >> ============================================================================== >> --- >> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java >> (original) >> +++ >> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java >> Tue Sep 24 11:10:18 2013 >> @@ -2281,4 +2281,27 @@ public class TestIndexWriter extends Luc >> evilWriter.close(); >> dir.close(); >> } >> + >> + // LUCENE-5239 >> + public void testDeleteSameTermAcrossFields() throws Exception { >> + Directory dir = newDirectory(); >> + IndexWriterConfig iwc = new IndexWriterConfig(TEST_VERSION_CURRENT, new >> MockAnalyzer(random())); >> + IndexWriter w = new IndexWriter(dir, iwc); >> + Document doc = new Document(); >> + doc.add(new TextField("a", "foo", Field.Store.NO)); >> + w.addDocument(doc); >> + >> + // Should not delete the document; with LUCENE-5239 the >> + // "foo" from the 2nd delete term would incorrectly >> + // match field a's "foo": >> + w.deleteDocuments(new Term("a", "xxx")); >> + w.deleteDocuments(new Term("b", "foo")); >> + IndexReader r = w.getReader(); >> + w.close(); >> + >> + // Make sure document was not (incorrectly) deleted: >> + assertEquals(1, r.numDocs()); >> + r.close(); >> + dir.close(); >> + } >> } >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
