mirror of https://github.com/apache/lucene.git
add test case for deletes
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1068387 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ebfa92f6db
commit
c9c5694765
|
@ -2874,4 +2874,36 @@ public class TestIndexWriter extends LuceneTestCase {
|
||||||
|
|
||||||
dir.close();
|
dir.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testDeleteAllSlowly() throws Exception {
|
||||||
|
final Directory dir = newDirectory();
|
||||||
|
RandomIndexWriter w = new RandomIndexWriter(random, dir);
|
||||||
|
final int NUM_DOCS = 1000 * RANDOM_MULTIPLIER;
|
||||||
|
final List<Integer> ids = new ArrayList<Integer>(NUM_DOCS);
|
||||||
|
for(int id=0;id<NUM_DOCS;id++) {
|
||||||
|
ids.add(id);
|
||||||
|
}
|
||||||
|
Collections.shuffle(ids, random);
|
||||||
|
for(int id : ids) {
|
||||||
|
Document doc = new Document();
|
||||||
|
doc.add(newField("id", ""+id, Field.Index.NOT_ANALYZED));
|
||||||
|
w.addDocument(doc);
|
||||||
|
}
|
||||||
|
Collections.shuffle(ids, random);
|
||||||
|
int upto = 0;
|
||||||
|
while(upto < ids.size()) {
|
||||||
|
final int left = ids.size() - upto;
|
||||||
|
final int inc = Math.min(left, _TestUtil.nextInt(random, 1, 20));
|
||||||
|
final int limit = upto + inc;
|
||||||
|
while(upto < limit) {
|
||||||
|
w.deleteDocuments(new Term("id", ""+ids.get(upto++)));
|
||||||
|
}
|
||||||
|
final IndexReader r = w.getReader();
|
||||||
|
assertEquals(NUM_DOCS - upto, r.numDocs());
|
||||||
|
r.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
w.close();
|
||||||
|
dir.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue