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]

Reply via email to