You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/04/01 12:33:33 UTC

svn commit: r1670601 - /lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java

Author: jpountz
Date: Wed Apr  1 10:33:33 2015
New Revision: 1670601

URL: http://svn.apache.org/r1670601
Log:
Fix SuggestFieldTest to not always expect IndexWriter.tryDelete to succeed.

Modified:
    lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java

Modified: lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java?rev=1670601&r1=1670600&r2=1670601&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java (original)
+++ lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java Wed Apr  1 10:33:33 2015
@@ -44,6 +44,7 @@ import org.apache.lucene.index.IndexWrit
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.TermsQuery;
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;
@@ -55,9 +56,11 @@ import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.FixedBitSet;
 import org.apache.lucene.util.LineFileDocs;
 import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.NumericUtils;
 import org.apache.lucene.util.TestUtil;
 import org.junit.After;
 import org.junit.Before;
@@ -198,22 +201,9 @@ public class SuggestFieldTest extends Lu
       document = new Document();
     }
 
-    // get docIDs to delete
-    DirectoryReader reader = DirectoryReader.open(iw, false);
-    List<Integer> docIdsToDelete = new ArrayList<>();
-    for (int i = 0; i < reader.maxDoc(); i++) {
-      Document doc = reader.document(i);
-      if ("delete".equals(doc.get("str_field"))) {
-        docIdsToDelete.add(i);
-      }
-    }
-
-    for (Integer docID : docIdsToDelete) {
-      assertTrue(iw.tryDeleteDocument(reader, docID));
-    }
-    reader.close();
+    iw.deleteDocuments(new Term("str_field", "delete"));
 
-    reader = DirectoryReader.open(iw, false);
+    DirectoryReader reader = DirectoryReader.open(iw, false);
     SuggestIndexSearcher indexSearcher = new SuggestIndexSearcher(reader, analyzer);
     TopSuggestDocs suggest = indexSearcher.suggest("suggest_field", "abc_", numLive);
     assertSuggestions(suggest, expectedEntries.toArray(new Entry[expectedEntries.size()]));
@@ -254,16 +244,13 @@ public class SuggestFieldTest extends Lu
     for (int i = 0; i < num; i++) {
       Document document = new Document();
       document.add(newSuggestField("suggest_field", "abc_" + i, i));
+      document.add(newStringField("delete", "delete", Field.Store.NO));
       iw.addDocument(document);
     }
 
-    DirectoryReader reader = DirectoryReader.open(iw, false);
-    for (int docID = 0; docID < reader.maxDoc(); docID++) {
-      assertTrue(iw.tryDeleteDocument(reader, docID));
-    }
-    reader.close();
+    iw.deleteDocuments(new Term("delete", "delete"));
 
-    reader = DirectoryReader.open(iw, false);
+    DirectoryReader reader = DirectoryReader.open(iw, false);
     SuggestIndexSearcher indexSearcher = new SuggestIndexSearcher(reader, analyzer);
     TopSuggestDocs suggest = indexSearcher.suggest("suggest_field", "abc_", num);
     assertThat(suggest.totalHits, equalTo(0));
@@ -285,20 +272,9 @@ public class SuggestFieldTest extends Lu
       iw.addDocument(document);
     }
 
-    DirectoryReader reader = DirectoryReader.open(iw, false);
-    // delete all but the lowest scored suggestion
-    for (int docID = 0; docID < reader.maxDoc(); docID++) {
-      Document doc = reader.document(docID);
-      IndexableField[] weights = doc.getFields("weight_fld");
-      assertThat(weights.length, equalTo(1));
-      int weight = (int) weights[0].numericValue();
-      if (weight != 1) {
-        assertTrue(iw.tryDeleteDocument(reader, docID));
-      }
-    }
-    reader.close();
+    iw.deleteDocuments(NumericRangeQuery.newIntRange("weight_fld", 2, null, true, false));
 
-    reader = DirectoryReader.open(iw, false);
+    DirectoryReader reader = DirectoryReader.open(iw, true);
     SuggestIndexSearcher indexSearcher = new SuggestIndexSearcher(reader, analyzer);
     TopSuggestDocs suggest = indexSearcher.suggest("suggest_field", "abc_", 1);
     assertSuggestions(suggest, new Entry("abc_1", 1));