You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2013/02/07 22:32:28 UTC

svn commit: r1443736 [3/3] - in /lucene/dev/trunk/lucene: ./ demo/src/java/org/apache/lucene/demo/facet/adaptive/ demo/src/java/org/apache/lucene/demo/facet/multiCL/ facet/src/java/org/apache/lucene/facet/associations/search/ facet/src/java/org/apache/...

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java Thu Feb  7 21:32:27 2013
@@ -3,28 +3,22 @@ package org.apache.lucene.facet.search;
 import java.io.IOException;
 import java.util.List;
 
+import org.apache.lucene.facet.FacetTestBase;
+import org.apache.lucene.facet.index.params.FacetIndexingParams;
+import org.apache.lucene.facet.search.params.CountFacetRequest;
+import org.apache.lucene.facet.search.params.FacetSearchParams;
+import org.apache.lucene.facet.search.results.FacetResult;
+import org.apache.lucene.facet.search.results.FacetResultNode;
+import org.apache.lucene.facet.taxonomy.CategoryPath;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiReader;
 import org.apache.lucene.index.ParallelAtomicReader;
 import org.apache.lucene.index.SlowCompositeReaderWrapper;
 import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.lucene.facet.FacetTestBase;
-import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.search.FacetsAccumulator;
-import org.apache.lucene.facet.search.ScoredDocIDs;
-import org.apache.lucene.facet.search.ScoredDocIdCollector;
-import org.apache.lucene.facet.search.StandardFacetsAccumulator;
-import org.apache.lucene.facet.search.params.CountFacetRequest;
-import org.apache.lucene.facet.search.params.FacetSearchParams;
-import org.apache.lucene.facet.search.results.FacetResult;
-import org.apache.lucene.facet.search.results.FacetResultNode;
-import org.apache.lucene.facet.taxonomy.CategoryPath;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -104,17 +98,9 @@ public class TestFacetsAccumulatorWithCo
   }
   
   private void doTestComplements() throws Exception {
-    Query q = new MatchAllDocsQuery(); //new TermQuery(new Term(TEXT,"white"));
-    if (VERBOSE) {
-      System.out.println("Query: "+q);
-    }
-    ScoredDocIdCollector dCollector = 
-      ScoredDocIdCollector.create(indexReader.maxDoc(),false); // scoring is disabled
-    searcher.search(q, dCollector);
-    
     // verify by facet values
-    List<FacetResult> countResWithComplement = findFacets(dCollector.getScoredDocIDs(), true);
-    List<FacetResult> countResNoComplement = findFacets(dCollector.getScoredDocIDs(), false);
+    List<FacetResult> countResWithComplement = findFacets(true);
+    List<FacetResult> countResNoComplement = findFacets(false);
     
     assertEquals("Wrong number of facet count results with complement!",1,countResWithComplement.size());
     assertEquals("Wrong number of facet count results no complement!",1,countResNoComplement.size());
@@ -124,20 +110,17 @@ public class TestFacetsAccumulatorWithCo
     
     assertEquals("Wrong number of top count aggregated categories with complement!",3,parentResWithComp.subResults.size());
     assertEquals("Wrong number of top count aggregated categories no complement!",3,parentResNoComp.subResults.size());
-    
   }
   
   /** compute facets with certain facet requests and docs */
-  private List<FacetResult> findFacets(ScoredDocIDs sDocids, boolean withComplement) throws IOException {
+  private List<FacetResult> findFacets(boolean withComplement) throws IOException {
     FacetSearchParams fsp = new FacetSearchParams(fip, new CountFacetRequest(new CategoryPath("root","a"), 10));
-    FacetsAccumulator fAccumulator = new StandardFacetsAccumulator(fsp, indexReader, taxoReader);
-    
-    fAccumulator.setComplementThreshold(
-        withComplement ? 
-            FacetsAccumulator.FORCE_COMPLEMENT: 
-              FacetsAccumulator.DISABLE_COMPLEMENT);
+    StandardFacetsAccumulator sfa = new StandardFacetsAccumulator(fsp, indexReader, taxoReader);
+    sfa.setComplementThreshold(withComplement ? StandardFacetsAccumulator.FORCE_COMPLEMENT : StandardFacetsAccumulator.DISABLE_COMPLEMENT);
+    FacetsCollector fc = FacetsCollector.create(sfa);
+    searcher.search(new MatchAllDocsQuery(), fc);
     
-    List<FacetResult> res = fAccumulator.accumulate(sDocids);
+    List<FacetResult> res = fc.getFacetResults();
     
     // Results are ready, printing them...
     int i = 0;
@@ -147,7 +130,7 @@ public class TestFacetsAccumulatorWithCo
       }
     }
     
-    assertEquals(withComplement, ((StandardFacetsAccumulator) fAccumulator).isUsingComplements);
+    assertEquals(withComplement, sfa.isUsingComplements);
     
     return res;
   }

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java Thu Feb  7 21:32:27 2013
@@ -1,7 +1,11 @@
 package org.apache.lucene.facet.search;
 
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
@@ -9,8 +13,13 @@ import org.apache.lucene.document.Field.
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.facet.FacetTestCase;
 import org.apache.lucene.facet.index.FacetFields;
+import org.apache.lucene.facet.index.params.CategoryListParams;
+import org.apache.lucene.facet.index.params.FacetIndexingParams;
+import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
+import org.apache.lucene.facet.search.FacetsCollector.MatchingDocs;
+import org.apache.lucene.facet.search.params.CountFacetRequest;
 import org.apache.lucene.facet.search.params.FacetSearchParams;
-import org.apache.lucene.facet.search.params.ScoreFacetRequest;
+import org.apache.lucene.facet.search.params.SumScoreFacetRequest;
 import org.apache.lucene.facet.search.results.FacetResult;
 import org.apache.lucene.facet.taxonomy.CategoryPath;
 import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
@@ -18,7 +27,6 @@ import org.apache.lucene.facet.taxonomy.
 import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.MultiCollector;
@@ -47,16 +55,15 @@ import org.junit.Test;
 public class TestFacetsCollector extends FacetTestCase {
 
   @Test
-  public void testFacetsWithDocScore() throws Exception {
+  public void testSumScoreAggregator() throws Exception {
     Directory indexDir = newDirectory();
     Directory taxoDir = newDirectory();
 
     TaxonomyWriter taxonomyWriter = new DirectoryTaxonomyWriter(taxoDir);
-    IndexWriter iw = new IndexWriter(indexDir, new IndexWriterConfig(
-        TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    IndexWriter iw = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
 
     FacetFields facetFields = new FacetFields(taxonomyWriter);
-    for(int i = atLeast(2000); i > 0; --i) {
+    for(int i = atLeast(30); i > 0; --i) {
       Document doc = new Document();
       doc.add(new StringField("f", "v", Store.NO));
       facetFields.addFields(doc, Collections.singletonList(new CategoryPath("a")));
@@ -66,12 +73,17 @@ public class TestFacetsCollector extends
     taxonomyWriter.close();
     iw.close();
     
-    FacetSearchParams sParams = new FacetSearchParams(new ScoreFacetRequest(new CategoryPath("a"), 10));
-    
     DirectoryReader r = DirectoryReader.open(indexDir);
     DirectoryTaxonomyReader taxo = new DirectoryTaxonomyReader(taxoDir);
     
-    FacetsCollector fc = FacetsCollector.create(sParams, r, taxo);
+    FacetSearchParams sParams = new FacetSearchParams(new SumScoreFacetRequest(new CategoryPath("a"), 10));
+    FacetsAccumulator fa = new FacetsAccumulator(sParams, r, taxo) {
+      @Override
+      public FacetsAggregator getAggregator() {
+        return new SumScoreFacetsAggregator();
+      }
+    };
+    FacetsCollector fc = FacetsCollector.create(fa);
     TopScoreDocCollector topDocs = TopScoreDocCollector.create(10, false);
     new IndexSearcher(r).search(new MatchAllDocsQuery(), MultiCollector.wrap(fc, topDocs));
     
@@ -83,4 +95,119 @@ public class TestFacetsCollector extends
     IOUtils.close(taxo, taxoDir, r, indexDir);
   }
   
+  @Test
+  public void testMultiCountingLists() throws Exception {
+    Directory indexDir = newDirectory();
+    Directory taxoDir = newDirectory();
+    
+    TaxonomyWriter taxonomyWriter = new DirectoryTaxonomyWriter(taxoDir);
+    IndexWriter iw = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    FacetIndexingParams fip = new PerDimensionIndexingParams(Collections.singletonMap(new CategoryPath("b"), new CategoryListParams("$b")));
+    
+    FacetFields facetFields = new FacetFields(taxonomyWriter, fip);
+    for(int i = atLeast(30); i > 0; --i) {
+      Document doc = new Document();
+      doc.add(new StringField("f", "v", Store.NO));
+      List<CategoryPath> cats = new ArrayList<CategoryPath>();
+      cats.add(new CategoryPath("a"));
+      cats.add(new CategoryPath("b"));
+      facetFields.addFields(doc, cats);
+      iw.addDocument(doc);
+    }
+    
+    taxonomyWriter.close();
+    iw.close();
+    
+    DirectoryReader r = DirectoryReader.open(indexDir);
+    DirectoryTaxonomyReader taxo = new DirectoryTaxonomyReader(taxoDir);
+    
+    FacetSearchParams sParams = new FacetSearchParams(fip,
+        new CountFacetRequest(new CategoryPath("a"), 10), 
+        new CountFacetRequest(new CategoryPath("b"), 10));
+    FacetsCollector fc = FacetsCollector.create(sParams, r, taxo);
+    new IndexSearcher(r).search(new MatchAllDocsQuery(), fc);
+    
+    for (FacetResult res : fc.getFacetResults()) {
+      assertEquals("unexpected count for " + res, r.maxDoc(), (int) res.getFacetResultNode().value);
+    }
+    
+    IOUtils.close(taxo, taxoDir, r, indexDir);
+  }
+  
+  @Test
+  public void testCountAndSumScore() throws Exception {
+    Directory indexDir = newDirectory();
+    Directory taxoDir = newDirectory();
+    
+    TaxonomyWriter taxonomyWriter = new DirectoryTaxonomyWriter(taxoDir);
+    IndexWriter iw = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    FacetIndexingParams fip = new PerDimensionIndexingParams(Collections.singletonMap(new CategoryPath("b"), new CategoryListParams("$b")));
+    
+    FacetFields facetFields = new FacetFields(taxonomyWriter, fip);
+    for(int i = atLeast(30); i > 0; --i) {
+      Document doc = new Document();
+      doc.add(new StringField("f", "v", Store.NO));
+      List<CategoryPath> cats = new ArrayList<CategoryPath>();
+      cats.add(new CategoryPath("a"));
+      cats.add(new CategoryPath("b"));
+      facetFields.addFields(doc, cats);
+      iw.addDocument(doc);
+    }
+    
+    taxonomyWriter.close();
+    iw.close();
+    
+    DirectoryReader r = DirectoryReader.open(indexDir);
+    DirectoryTaxonomyReader taxo = new DirectoryTaxonomyReader(taxoDir);
+    
+    FacetSearchParams sParams = new FacetSearchParams(fip,
+        new CountFacetRequest(new CategoryPath("a"), 10), 
+        new SumScoreFacetRequest(new CategoryPath("b"), 10));
+    
+    final Map<CategoryListParams,FacetsAggregator> clpAggregator = new HashMap<CategoryListParams,FacetsAggregator>();
+    clpAggregator.put(fip.getCategoryListParams(new CategoryPath("a")), new FastCountingFacetsAggregator());
+    clpAggregator.put(fip.getCategoryListParams(new CategoryPath("b")), new SumScoreFacetsAggregator());
+    FacetsAccumulator fa = new FacetsAccumulator(sParams, r, taxo) {
+      @Override
+      public FacetsAggregator getAggregator() {
+        return new FacetsAggregator() {
+          
+          @Override
+          public void rollupValues(int ordinal, int[] children, int[] siblings, FacetArrays facetArrays) {
+            throw new UnsupportedOperationException("not supported yet");
+          }
+          
+          @Override
+          public boolean requiresDocScores() {
+            for (FacetsAggregator aggregator : clpAggregator.values()) {
+              if (aggregator.requiresDocScores()) {
+                return true;
+              }
+            }
+            return false;
+          }
+          
+          @Override
+          public void aggregate(MatchingDocs matchingDocs, CategoryListParams clp, FacetArrays facetArrays) throws IOException {
+            clpAggregator.get(clp).aggregate(matchingDocs, clp, facetArrays);
+          }
+        };
+      }
+    };
+    
+    FacetsCollector fc = FacetsCollector.create(fa);
+    TopScoreDocCollector topDocs = TopScoreDocCollector.create(10, false);
+    new IndexSearcher(r).search(new MatchAllDocsQuery(), MultiCollector.wrap(fc, topDocs));
+    
+    List<FacetResult> facetResults = fc.getFacetResults();
+    FacetResult fresA = facetResults.get(0);
+    assertEquals("unexpected count for " + fresA, r.maxDoc(), (int) fresA.getFacetResultNode().value);
+    
+    FacetResult fresB = facetResults.get(1);
+    double expected = topDocs.topDocs().getMaxScore() * r.numDocs();
+    assertEquals("unexpected value for " + fresB, expected, fresB.getFacetResultNode().value, 1E-10);
+    
+    IOUtils.close(taxo, taxoDir, r, indexDir);
+  }
+
 }

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java Thu Feb  7 21:32:27 2013
@@ -332,7 +332,7 @@ public class TestMultipleCategoryLists e
     facetRequests.add(new CountFacetRequest(new CategoryPath("Band", "Rock & Pop"), 10));
 
     // Faceted search parameters indicate which facets are we interested in
-    FacetSearchParams facetSearchParams = new FacetSearchParams(facetRequests, iParams);
+    FacetSearchParams facetSearchParams = new FacetSearchParams(iParams, facetRequests);
 
     // perform documents search and facets accumulation
     FacetsCollector facetsCollector = FacetsCollector.create(facetSearchParams, ir, tr);

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java Thu Feb  7 21:32:27 2013
@@ -101,14 +101,9 @@ public class TestStandardFacetsAccumulat
     
     // search for "f:a", only segments 1 and 3 should match results
     Query q = new TermQuery(new Term("f", "a"));
-    FacetRequest countNoComplements = new CountFacetRequest(new CategoryPath("A"), 10) {
-      @Override
-      public boolean supportsComplements() {
-        return false; // disable complements
-      }
-    };
+    FacetRequest countNoComplements = new CountFacetRequest(new CategoryPath("A"), 10);
     FacetSearchParams fsp = new FacetSearchParams(fip, countNoComplements);
-    FacetsCollector fc = new StandardFacetsCollector(fsp , indexReader, taxoReader);
+    FacetsCollector fc = FacetsCollector.create(fsp , indexReader, taxoReader);
     indexSearcher.search(q, fc);
     List<FacetResult> results = fc.getFacetResults();
     assertEquals("received too many facet results", 1, results.size());

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java Thu Feb  7 21:32:27 2013
@@ -109,48 +109,36 @@ public class TestTopKInEachNodeResultHan
       // Get all of the documents and run the query, then do different
       // facet counts and compare to control
       Query q = new TermQuery(new Term("content", "alpha"));
-      ScoredDocIdCollector scoredDoc = ScoredDocIdCollector.create(ir.maxDoc(), true);
 
-      // Collector collector = new MultiCollector(scoredDoc);
-      is.search(q, scoredDoc);
-
-      CountFacetRequest cfra23 = new CountFacetRequest(
-          new CategoryPath("a"), 2);
+      CountFacetRequest cfra23 = new CountFacetRequest(new CategoryPath("a"), 2);
       cfra23.setDepth(3);
       cfra23.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfra22 = new CountFacetRequest(
-          new CategoryPath("a"), 2);
+      CountFacetRequest cfra22 = new CountFacetRequest(new CategoryPath("a"), 2);
       cfra22.setDepth(2);
       cfra22.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfra21 = new CountFacetRequest(
-          new CategoryPath("a"), 2);
+      CountFacetRequest cfra21 = new CountFacetRequest(new CategoryPath("a"), 2);
       cfra21.setDepth(1);
       cfra21.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfrb22 = new CountFacetRequest(
-          new CategoryPath("a", "b"), 2);
+      CountFacetRequest cfrb22 = new CountFacetRequest(new CategoryPath("a", "b"), 2);
       cfrb22.setDepth(2);
       cfrb22.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfrb23 = new CountFacetRequest(
-          new CategoryPath("a", "b"), 2);
+      CountFacetRequest cfrb23 = new CountFacetRequest(new CategoryPath("a", "b"), 2);
       cfrb23.setDepth(3);
       cfrb23.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfrb21 = new CountFacetRequest(
-          new CategoryPath("a", "b"), 2);
+      CountFacetRequest cfrb21 = new CountFacetRequest(new CategoryPath("a", "b"), 2);
       cfrb21.setDepth(1);
       cfrb21.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest doctor = new CountFacetRequest(
-          new CategoryPath("Doctor"), 2);
+      CountFacetRequest doctor = new CountFacetRequest(new CategoryPath("Doctor"), 2);
       doctor.setDepth(1);
       doctor.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
-      CountFacetRequest cfrb20 = new CountFacetRequest(
-          new CategoryPath("a", "b"), 2);
+      CountFacetRequest cfrb20 = new CountFacetRequest(new CategoryPath("a", "b"), 2);
       cfrb20.setDepth(0);
       cfrb20.setResultMode(ResultMode.PER_NODE_IN_TREE);
 
@@ -163,20 +151,16 @@ public class TestTopKInEachNodeResultHan
       facetRequests.add(cfrb21);
       facetRequests.add(doctor);
       facetRequests.add(cfrb20);
-      FacetSearchParams facetSearchParams = new FacetSearchParams(facetRequests, iParams);
+      FacetSearchParams facetSearchParams = new FacetSearchParams(iParams, facetRequests);
       
       FacetArrays facetArrays = new FacetArrays(PartitionsUtils.partitionSize(facetSearchParams.indexingParams, tr));
-      FacetsAccumulator fctExtrctr = new StandardFacetsAccumulator(facetSearchParams, is.getIndexReader(), tr, facetArrays);
-      fctExtrctr.setComplementThreshold(FacetsAccumulator.DISABLE_COMPLEMENT);
-      long start = System.currentTimeMillis();
-
-      List<FacetResult> facetResults = fctExtrctr.accumulate(scoredDoc.getScoredDocIDs());
-
-      long end = System.currentTimeMillis();
-      if (VERBOSE) {
-        System.out.println("Time: " + (end - start));
-      }
+      StandardFacetsAccumulator sfa = new StandardFacetsAccumulator(facetSearchParams, is.getIndexReader(), tr, facetArrays);
+      sfa.setComplementThreshold(StandardFacetsAccumulator.DISABLE_COMPLEMENT);
+      FacetsCollector fc = FacetsCollector.create(sfa);
       
+      is.search(q, fc);
+      List<FacetResult> facetResults = fc.getFacetResults();
+
       FacetResult fr = facetResults.get(0); // a, depth=3, K=2
       boolean hasDoctor = "Doctor".equals(fr.getFacetRequest().categoryPath.components[0]);
       assertEquals(9, fr.getNumValidDescendants());
@@ -203,7 +187,7 @@ public class TestTopKInEachNodeResultHan
       }
       // now rearrange
       double [] expectedValues00 = { 6.0, 1.0, 5.0, 3.0, 2.0 };
-      fr = cfra23.createFacetResultsHandler(tr).rearrangeFacetResult(fr);
+      fr = sfa.createFacetResultsHandler(cfra23).rearrangeFacetResult(fr);
       i = 0;
       for (FacetResultNode node : parentRes.subResults) {
         assertEquals(expectedValues00[i++], node.value, Double.MIN_VALUE);

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java Thu Feb  7 21:32:27 2013
@@ -13,8 +13,6 @@ import org.apache.lucene.facet.search.pa
 import org.apache.lucene.facet.search.results.FacetResult;
 import org.apache.lucene.facet.search.results.FacetResultNode;
 import org.apache.lucene.facet.taxonomy.CategoryPath;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.junit.Test;
 
@@ -92,15 +90,7 @@ public class TestTopKResultsHandler exte
       
       // do different facet counts and compare to control
       FacetSearchParams sParams = getFacetSearchParams(facetRequests, fip);
-      
-      FacetsCollector fc = new StandardFacetsCollector(sParams, indexReader, taxoReader) {
-        @Override
-        protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
-          FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
-          fa.setComplementThreshold(FacetsAccumulator.DISABLE_COMPLEMENT);
-          return fa;
-        }
-      };
+      FacetsCollector fc = FacetsCollector.create(sParams, indexReader, taxoReader);
       
       searcher.search(new MatchAllDocsQuery(), fc);
       List<FacetResult> facetResults = fc.getFacetResults();
@@ -169,15 +159,7 @@ public class TestTopKResultsHandler exte
       // do different facet counts and compare to control
       CategoryPath path = new CategoryPath("a", "b");
       FacetSearchParams sParams = getFacetSearchParams(fip, new CountFacetRequest(path, Integer.MAX_VALUE));
-
-      FacetsCollector fc = new StandardFacetsCollector(sParams, indexReader, taxoReader) {
-        @Override
-        protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
-          FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
-          fa.setComplementThreshold(FacetsAccumulator.DISABLE_COMPLEMENT);
-          return fa;
-        }
-      };
+      FacetsCollector fc = FacetsCollector.create(sParams, indexReader, taxoReader);
       
       searcher.search(new MatchAllDocsQuery(), fc);
       List<FacetResult> results = fc.getFacetResults();
@@ -187,17 +169,8 @@ public class TestTopKResultsHandler exte
       assertEquals(path + " should only have 4 desendants", 4, res.getNumValidDescendants());
 
       // As a control base results, ask for top-1000 results
-      FacetSearchParams sParams2 = getFacetSearchParams(
-          fip, new CountFacetRequest(path, Integer.MAX_VALUE));
-
-      FacetsCollector fc2 = new StandardFacetsCollector(sParams2, indexReader, taxoReader) {
-        @Override
-        protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
-          FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
-          fa.setComplementThreshold(FacetsAccumulator.DISABLE_COMPLEMENT);
-          return fa;
-        }
-      };
+      FacetSearchParams sParams2 = getFacetSearchParams(fip, new CountFacetRequest(path, Integer.MAX_VALUE));
+      FacetsCollector fc2 = FacetsCollector.create(sParams2, indexReader, taxoReader);
       
       searcher.search(new MatchAllDocsQuery(), fc2);
       List<FacetResult> baseResults = fc2.getFacetResults();

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java Thu Feb  7 21:32:27 2013
@@ -8,8 +8,6 @@ import org.apache.lucene.facet.index.par
 import org.apache.lucene.facet.search.params.FacetSearchParams;
 import org.apache.lucene.facet.search.results.FacetResult;
 import org.apache.lucene.facet.search.results.FacetResultNode;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.Query;
 import org.junit.Test;
@@ -37,17 +35,9 @@ public class TestTopKResultsHandlerRando
       throws IOException {
     Query q = new MatchAllDocsQuery();
     FacetSearchParams facetSearchParams = searchParamsWithRequests(numResults, fip);
-    FacetsCollector fc = new StandardFacetsCollector(facetSearchParams, indexReader, taxoReader) {
-      @Override
-      protected FacetsAccumulator initFacetsAccumulator(
-          FacetSearchParams facetSearchParams, IndexReader indexReader,
-          TaxonomyReader taxonomyReader) {
-        FacetsAccumulator accumulator = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
-        double complement = doComplement ? FacetsAccumulator.FORCE_COMPLEMENT : FacetsAccumulator.DISABLE_COMPLEMENT;
-        accumulator.setComplementThreshold(complement);
-        return accumulator;
-      }
-    };
+    StandardFacetsAccumulator sfa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxoReader);
+    sfa.setComplementThreshold(doComplement ? StandardFacetsAccumulator.FORCE_COMPLEMENT : StandardFacetsAccumulator.DISABLE_COMPLEMENT);
+    FacetsCollector fc = FacetsCollector.create(sfa);
     searcher.search(q, fc);
     List<FacetResult> facetResults = fc.getFacetResults();
     return facetResults;

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java Thu Feb  7 21:32:27 2013
@@ -25,7 +25,6 @@ import org.apache.lucene.search.IndexSea
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -119,8 +118,8 @@ public class AssociationsFacetRequestTes
     
     assertNotNull("No results!",res);
     assertEquals("Wrong number of results!",2, res.size());
-    assertEquals("Wrong count for category 'a'!",200, (int) res.get(0).getFacetResultNode().value);
-    assertEquals("Wrong count for category 'b'!",150, (int) res.get(1).getFacetResultNode().value);
+    assertEquals("Wrong count for category 'a'!", 200, (int) res.get(0).getFacetResultNode().value);
+    assertEquals("Wrong count for category 'b'!", 150, (int) res.get(1).getFacetResultNode().value);
     
     taxo.close();
   }

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/params/FacetRequestTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/params/FacetRequestTest.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/params/FacetRequestTest.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/params/FacetRequestTest.java Thu Feb  7 21:32:27 2013
@@ -1,13 +1,7 @@
 package org.apache.lucene.facet.search.params;
 
 import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.search.FacetResultsHandler;
 import org.apache.lucene.facet.taxonomy.CategoryPath;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.store.Directory;
 import org.junit.Test;
 
 /*
@@ -49,47 +43,4 @@ public class FacetRequestTest extends Fa
     assertFalse("equals() should return false as fr1.depth != fr2.depth", fr1.equals(fr2));
   }
   
-  @Test
-  public void testGetFacetResultHandlerDifferentTaxonomy() throws Exception {
-    FacetRequest fr = new CountFacetRequest(new CategoryPath("a"), 10);
-    Directory dir1 = newDirectory();
-    Directory dir2 = newDirectory();
-    // create empty indexes, so that LTR ctor won't complain about a missing index.
-    new IndexWriter(dir1, new IndexWriterConfig(TEST_VERSION_CURRENT, null)).close();
-    new IndexWriter(dir2, new IndexWriterConfig(TEST_VERSION_CURRENT, null)).close();
-    TaxonomyReader tr1 = new DirectoryTaxonomyReader(dir1);
-    TaxonomyReader tr2 = new DirectoryTaxonomyReader(dir2);
-    FacetResultsHandler frh1 = fr.createFacetResultsHandler(tr1);
-    FacetResultsHandler frh2 = fr.createFacetResultsHandler(tr2);
-    assertTrue("should not return the same FacetResultHandler instance for different TaxonomyReader instances", frh1 != frh2);
-    tr1.close();
-    tr2.close();
-    dir1.close();
-    dir2.close();
-  }
-  
-  @Test
-  public void testImmutability() throws Exception {
-    // Tests that after a FRH is created by FR, changes to FR are not reflected
-    // in the FRH.
-    FacetRequest fr = new CountFacetRequest(new CategoryPath("a"), 10);
-    Directory dir = newDirectory();
-    // create empty indexes, so that LTR ctor won't complain about a missing index.
-    new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, null)).close();
-    TaxonomyReader tr = new DirectoryTaxonomyReader(dir);
-    FacetResultsHandler frh = fr.createFacetResultsHandler(tr);
-    fr.setDepth(10);
-    assertEquals(FacetRequest.DEFAULT_DEPTH, frh.getFacetRequest().getDepth());
-    tr.close();
-    dir.close();
-  }
-  
-  @Test
-  public void testClone() throws Exception {
-    FacetRequest fr = new CountFacetRequest(new CategoryPath("a"), 10);
-    FacetRequest clone = fr.clone();
-    fr.setDepth(10);
-    assertEquals("depth should not have been affected in the clone", FacetRequest.DEFAULT_DEPTH, clone.getDepth());
-  }
-  
 }

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java Thu Feb  7 21:32:27 2013
@@ -5,11 +5,8 @@ import java.util.Random;
 
 import org.apache.lucene.facet.index.params.FacetIndexingParams;
 import org.apache.lucene.facet.search.BaseTestTopK;
-import org.apache.lucene.facet.search.FacetsAccumulator;
 import org.apache.lucene.facet.search.FacetsCollector;
-import org.apache.lucene.facet.search.ScoredDocIDs;
-import org.apache.lucene.facet.search.ScoredDocIdCollector;
-import org.apache.lucene.facet.search.StandardFacetsCollector;
+import org.apache.lucene.facet.search.StandardFacetsAccumulator;
 import org.apache.lucene.facet.search.params.FacetRequest;
 import org.apache.lucene.facet.search.params.FacetRequest.ResultMode;
 import org.apache.lucene.facet.search.params.FacetSearchParams;
@@ -17,7 +14,6 @@ import org.apache.lucene.facet.search.re
 import org.apache.lucene.facet.taxonomy.TaxonomyReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.search.MultiCollector;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
 
@@ -60,7 +56,7 @@ public abstract class BaseSampleTestTopK
     return res;
   }
   
-  protected abstract FacetsAccumulator getSamplingAccumulator(Sampler sampler, TaxonomyReader taxoReader, 
+  protected abstract StandardFacetsAccumulator getSamplingAccumulator(Sampler sampler, TaxonomyReader taxoReader, 
       IndexReader indexReader, FacetSearchParams searchParams);
   
   /**
@@ -79,12 +75,11 @@ public abstract class BaseSampleTestTopK
         // Get all of the documents and run the query, then do different
         // facet counts and compare to control
         Query q = new TermQuery(new Term(CONTENT_FIELD, BETA)); // 90% of the docs
-        ScoredDocIdCollector docCollector = ScoredDocIdCollector.create(indexReader.maxDoc(), false);
         
         FacetSearchParams expectedSearchParams = searchParamsWithRequests(K, fip); 
         FacetsCollector fc = FacetsCollector.create(expectedSearchParams, indexReader, taxoReader);
         
-        searcher.search(q, MultiCollector.wrap(docCollector, fc));
+        searcher.search(q, fc);
         
         List<FacetResult> expectedResults = fc.getFacetResults();
         
@@ -95,7 +90,7 @@ public abstract class BaseSampleTestTopK
         for (int nTrial = 0; nTrial < RETRIES; nTrial++) {
           try {
             // complement with sampling!
-            final Sampler sampler = createSampler(nTrial, docCollector.getScoredDocIDs(), useRandomSampler);
+            final Sampler sampler = createSampler(nTrial, useRandomSampler);
             
             assertSampling(expectedResults, q, sampler, samplingSearchParams, false);
             assertSampling(expectedResults, q, sampler, samplingSearchParams, true);
@@ -124,19 +119,12 @@ public abstract class BaseSampleTestTopK
   
   private FacetsCollector samplingCollector(final boolean complement, final Sampler sampler,
       FacetSearchParams samplingSearchParams) {
-    FacetsCollector samplingFC = new StandardFacetsCollector(samplingSearchParams, indexReader, taxoReader) {
-      @Override
-      protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader,
-          TaxonomyReader taxonomyReader) {
-        FacetsAccumulator acc = getSamplingAccumulator(sampler, taxonomyReader, indexReader, facetSearchParams);
-        acc.setComplementThreshold(complement ? FacetsAccumulator.FORCE_COMPLEMENT : FacetsAccumulator.DISABLE_COMPLEMENT);
-        return acc;
-      }
-    };
-    return samplingFC;
+    StandardFacetsAccumulator sfa = getSamplingAccumulator(sampler, taxoReader, indexReader, samplingSearchParams);
+    sfa.setComplementThreshold(complement ? StandardFacetsAccumulator.FORCE_COMPLEMENT : StandardFacetsAccumulator.DISABLE_COMPLEMENT);
+    return FacetsCollector.create(sfa);
   }
   
-  private Sampler createSampler(int nTrial, ScoredDocIDs scoredDocIDs, boolean useRandomSampler) {
+  private Sampler createSampler(int nTrial, boolean useRandomSampler) {
     SamplingParams samplingParams = new SamplingParams();
     
     final double retryFactor = Math.pow(1.01, nTrial);
@@ -149,7 +137,6 @@ public abstract class BaseSampleTestTopK
     Sampler sampler = useRandomSampler ? 
         new RandomSampler(samplingParams, new Random(random().nextLong())) :
           new RepeatableSampler(samplingParams);
-    assertTrue("must enable sampling for this test!",sampler.shouldSample(scoredDocIDs));
     return sampler;
   }
   

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java Thu Feb  7 21:32:27 2013
@@ -7,9 +7,8 @@ import org.apache.lucene.document.Docume
 import org.apache.lucene.facet.FacetTestCase;
 import org.apache.lucene.facet.index.FacetFields;
 import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.search.FacetsAccumulator;
 import org.apache.lucene.facet.search.FacetsCollector;
-import org.apache.lucene.facet.search.StandardFacetsCollector;
+import org.apache.lucene.facet.search.StandardFacetsAccumulator;
 import org.apache.lucene.facet.search.params.CountFacetRequest;
 import org.apache.lucene.facet.search.params.FacetRequest;
 import org.apache.lucene.facet.search.params.FacetRequest.ResultMode;
@@ -112,14 +111,9 @@ public class OversampleWithDepthTest ext
   private FacetResult searchWithFacets(IndexReader r, TaxonomyReader tr, FacetSearchParams fsp, 
       final SamplingParams params) throws IOException {
     // a FacetsCollector with a sampling accumulator
-    FacetsCollector fcWithSampling = new StandardFacetsCollector(fsp, r, tr) {
-      @Override
-      protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader,
-          TaxonomyReader taxonomyReader) {
-        Sampler sampler = new RandomSampler(params, random());
-        return new SamplingAccumulator(sampler, facetSearchParams, indexReader, taxonomyReader);
-      }
-    };
+    Sampler sampler = new RandomSampler(params, random());
+    StandardFacetsAccumulator sfa = new SamplingAccumulator(sampler, fsp, r, tr);
+    FacetsCollector fcWithSampling = FacetsCollector.create(sfa);
     
     IndexSearcher s = new IndexSearcher(r);
     s.search(new MatchAllDocsQuery(), fcWithSampling);

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/SamplingAccumulatorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/SamplingAccumulatorTest.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/SamplingAccumulatorTest.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/SamplingAccumulatorTest.java Thu Feb  7 21:32:27 2013
@@ -1,11 +1,10 @@
 package org.apache.lucene.facet.search.sampling;
 
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.LuceneTestCase.Slow;
-
-import org.apache.lucene.facet.search.FacetsAccumulator;
+import org.apache.lucene.facet.search.StandardFacetsAccumulator;
 import org.apache.lucene.facet.search.params.FacetSearchParams;
 import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.util.LuceneTestCase.Slow;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -28,7 +27,7 @@ import org.apache.lucene.facet.taxonomy.
 public class SamplingAccumulatorTest extends BaseSampleTestTopK {
 
   @Override
-  protected FacetsAccumulator getSamplingAccumulator(Sampler sampler, TaxonomyReader taxoReader, 
+  protected StandardFacetsAccumulator getSamplingAccumulator(Sampler sampler, TaxonomyReader taxoReader, 
       IndexReader indexReader, FacetSearchParams searchParams) {
     return new SamplingAccumulator(sampler, searchParams, indexReader, taxoReader);
   }

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java Thu Feb  7 21:32:27 2013
@@ -12,19 +12,13 @@ import org.apache.lucene.document.String
 import org.apache.lucene.facet.FacetTestCase;
 import org.apache.lucene.facet.search.ScoredDocIDs;
 import org.apache.lucene.facet.search.ScoredDocIDsIterator;
-import org.apache.lucene.facet.search.ScoredDocIdCollector;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.MultiFields;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.FixedBitSet;
 import org.junit.Test;
 
@@ -101,79 +95,6 @@ public class TestScoredDocIDsUtils exten
     }
   }
   
-  @Test
-  public void testWithDeletions() throws Exception {
-    int N_DOCS = 100;
-
-    DocumentFactory docFactory = new DocumentFactory(N_DOCS) {
-      @Override
-      public boolean markedDeleted(int docNum) {
-        return (docNum % 3 == 0 ||        // every 3rd documents, including first 
-            docNum == numDocs - 1 ||     // last document
-            docNum == numDocs / 2 ||     // 3 consecutive documents in the middle
-            docNum == 1 + numDocs / 2 ||
-            docNum == 2 + numDocs / 2);
-      }
-      
-      // every 6th document (starting from the 2nd) would contain 'alpha'
-      @Override
-      public boolean haveAlpha(int docNum) {
-        return (docNum % 6 == 1);
-      }
-    };
-    
-    Directory dir = newDirectory();
-    IndexReader reader = createReaderWithNDocs(random(), N_DOCS, docFactory, dir);
-    try {
-      ScoredDocIDs allDocs = ScoredDocIdsUtils.createAllDocsScoredDocIDs(reader);
-      ScoredDocIDsIterator it = allDocs.iterator();
-      int numIteratedDocs = 0;
-      while (it.next()) {
-        numIteratedDocs++;
-        int docNum = it.getDocID();
-        assertNull(
-            "Deleted docs must not appear in the allDocsScoredDocIds set: " + docNum, 
-            reader.document(docNum).getField("del"));
-      }
-
-      assertEquals("Wrong number of (live) documents", allDocs.size(), numIteratedDocs);
-
-      // Get all 'alpha' documents
-      ScoredDocIdCollector collector = ScoredDocIdCollector.create(reader.maxDoc(), false);
-      Query q = new TermQuery(new Term(DocumentFactory.field, DocumentFactory.alphaTxt));
-      IndexSearcher searcher = newSearcher(reader);
-      searcher.search(q, collector);
-
-      ScoredDocIDs scoredDocIds = collector.getScoredDocIDs();
-      FixedBitSet resultSet = (FixedBitSet) scoredDocIds.getDocIDs();
-      
-      // Getting the complement set of the query result
-      ScoredDocIDs complementSet = ScoredDocIdsUtils.getComplementSet(scoredDocIds, reader);
-
-      assertEquals("Number of documents in complement set mismatch",
-          reader.numDocs() - scoredDocIds.size(), complementSet.size());
-
-      // now make sure the documents in the complement set are not deleted
-      // and not in the original result set
-      ScoredDocIDsIterator compIterator = complementSet.iterator();
-      Bits live = MultiFields.getLiveDocs(reader);
-      while (compIterator.next()) {
-        int docNum = compIterator.getDocID();
-        assertFalse(
-            "Complement-Set must not contain deleted documents (doc="+docNum+")",
-            live != null && !live.get(docNum));
-        assertNull("Complement-Set must not contain docs from the original set (doc="+ docNum+")", 
-            reader.document(docNum).getField("del"));
-        assertFalse(
-            "Complement-Set must not contain docs from the original set (doc="+docNum+")",
-            resultSet.get(docNum));
-      }
-    } finally {
-      reader.close();
-      dir.close();
-    }
-  }
-  
   /**
    * Creates an index with n documents, this method is meant for testing purposes ONLY
    */
@@ -189,10 +110,7 @@ public class TestScoredDocIDsUtils exten
     private final static Field deletionMark = new StringField(field, delTxt, Field.Store.NO);
     private final static Field alphaContent = new StringField(field, alphaTxt, Field.Store.NO);
     
-    protected final int numDocs;
-    
     public DocumentFactory(int totalNumDocs) {
-      this.numDocs = totalNumDocs;
     }
     
     public boolean markedDeleted(int docNum) {

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/util/collections/ObjectToIntMapTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/util/collections/ObjectToIntMapTest.java?rev=1443736&r1=1443735&r2=1443736&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/util/collections/ObjectToIntMapTest.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/util/collections/ObjectToIntMapTest.java Thu Feb  7 21:32:27 2013
@@ -4,12 +4,8 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Random;
 
-import org.junit.Test;
-
 import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.collections.IntIterator;
-import org.apache.lucene.util.collections.ObjectToIntMap;
+import org.junit.Test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more