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]
