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/01/21 17:11:31 UTC
svn commit: r1436446 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/facet/
lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/
lucene/facet/src/examples/org/apache/lucene/facet/example/simple/
lucene/facet/src/java/org/apache/luc...
Author: shaie
Date: Mon Jan 21 16:11:30 2013
New Revision: 1436446
URL: http://svn.apache.org/viewvc?rev=1436446&view=rev
Log:
LUCENE-4600: add CountingFacetsCollector
Added:
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/CountingFacetsCollector.java
- copied unchanged from r1436435, lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/CountingFacetsCollector.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsCollector.java
- copied unchanged from r1436435, lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsCollector.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/CountingFacetsCollectorTest.java
- copied unchanged from r1436435, lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/search/CountingFacetsCollectorTest.java
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/lucene/facet/ (props changed)
lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java
lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/index/params/FacetIndexingParams.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/DrillDown.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsAccumulator.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/TotalFacetCounts.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java
lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/sampling/Sampler.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/TestFacetsPayloadMigrationReader.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/SamplingWrapperTest.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestDemoFacets.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestSameRequestAccumulation.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java
lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
Modified: lucene/dev/branches/branch_4x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/CHANGES.txt?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/lucene/CHANGES.txt Mon Jan 21 16:11:30 2013
@@ -17,6 +17,12 @@ Changes in backwards compatibility polic
* LUCENE-4697: FacetResultNode is now a concrete class with public members
(instead of getter methods). (Shai Erera)
+* LUCENE-4600: FacetsCollector is now an abstract class with two
+ implementations: StandardFacetsCollector (the old version of
+ FacetsCollector) and CountingFacetsCollector. FacetsCollector.create()
+ returns the most optimized collector for the given parameters.
+ (Shai Erera, Michael McCandless)
+
Optimizations
* LUCENE-4687: BloomFilterPostingsFormat now lazily initializes delegate
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java Mon Jan 21 16:11:30 2013
@@ -109,8 +109,7 @@ public class MultiCLSearcher {
// behavior - in those
// situations other, more low-level interfaces are available, as
// demonstrated in other search examples.
- FacetsCollector facetsCollector = new FacetsCollector(
- facetSearchParams, indexReader, taxo);
+ FacetsCollector facetsCollector = FacetsCollector.create(facetSearchParams, indexReader, taxo);
// perform documents search and facets accumulation
searcher.search(q, MultiCollector.wrap(topDocsCollector, facetsCollector));
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java Mon Jan 21 16:11:30 2013
@@ -104,9 +104,9 @@ public class SimpleSearcher {
}
// Faceted search parameters indicate which facets are we interested in
- FacetSearchParams facetSearchParams = new FacetSearchParams(Arrays.asList(facetRequests), indexingParams);
+ FacetSearchParams facetSearchParams = new FacetSearchParams(indexingParams, facetRequests);
- FacetsCollector facetsCollector = new FacetsCollector(facetSearchParams, indexReader, taxoReader);
+ FacetsCollector facetsCollector = FacetsCollector.create(facetSearchParams, indexReader, taxoReader);
// perform documents search and facets accumulation
searcher.search(q, MultiCollector.wrap(topDocsCollector, facetsCollector));
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/index/params/FacetIndexingParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/index/params/FacetIndexingParams.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/index/params/FacetIndexingParams.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/index/params/FacetIndexingParams.java Mon Jan 21 16:11:30 2013
@@ -48,7 +48,7 @@ public class FacetIndexingParams {
/**
* A {@link FacetIndexingParams} which fixes {@link OrdinalPolicy} to
- * {@link OrdinalPolicy#NO_PARENTS}. This is a singleton equivalent to new
+ * {@link OrdinalPolicy#ALL_PARENTS}. This is a singleton equivalent to new
* {@link #FacetIndexingParams()}.
*/
public static final FacetIndexingParams ALL_PARENTS = new FacetIndexingParams();
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/DrillDown.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/DrillDown.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/DrillDown.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/DrillDown.java Mon Jan 21 16:11:30 2013
@@ -47,7 +47,7 @@ public final class DrillDown {
* @see #term(FacetIndexingParams, CategoryPath)
*/
public static final Term term(FacetSearchParams sParams, CategoryPath path) {
- return term(sParams.getFacetIndexingParams(), path);
+ return term(sParams.indexingParams, path);
}
/** Return a drill-down {@link Term} for a category. */
@@ -103,7 +103,7 @@ public final class DrillDown {
* @see #query(FacetIndexingParams, Query, CategoryPath...)
*/
public static final Query query(FacetSearchParams sParams, Query baseQuery, CategoryPath... paths) {
- return query(sParams.getFacetIndexingParams(), baseQuery, paths);
+ return query(sParams.indexingParams, baseQuery, paths);
}
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java Mon Jan 21 16:11:30 2013
@@ -138,7 +138,7 @@ public abstract class FacetsAccumulator
/** check if all requests are complementable */
protected boolean mayComplement() {
- for (FacetRequest freq:searchParams.getFacetRequests()) {
+ for (FacetRequest freq:searchParams.facetRequests) {
if (!freq.supportsComplements()) {
return false;
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java Mon Jan 21 16:11:30 2013
@@ -3,15 +3,13 @@ package org.apache.lucene.facet.search;
import java.io.IOException;
import java.util.List;
-import org.apache.lucene.index.AtomicReaderContext;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.Scorer;
-
import org.apache.lucene.facet.search.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.search.results.FacetResult;
+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.Collector;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -31,109 +29,35 @@ import org.apache.lucene.facet.taxonomy.
*/
/**
- * Collector for facet accumulation. *
+ * A {@link Collector} which executes faceted search and computes the weight of
+ * requested facets. To get the facet results you should call
+ * {@link #getFacetResults()}.
+ * {@link #create(FacetSearchParams, IndexReader, TaxonomyReader)} returns the
+ * most optimized {@link FacetsCollector} for the given parameters.
*
* @lucene.experimental
*/
-public class FacetsCollector extends Collector {
-
- protected final FacetsAccumulator facetsAccumulator;
- private ScoredDocIdCollector scoreDocIdCollector;
- private List<FacetResult> results;
- private Object resultsGuard;
-
+public abstract class FacetsCollector extends Collector {
+
/**
- * Create a collector for accumulating facets while collecting documents
- * during search.
- *
- * @param facetSearchParams
- * faceted search parameters defining which facets are required and
- * how.
- * @param indexReader
- * searched index.
- * @param taxonomyReader
- * taxonomy containing the facets.
+ * Returns the most optimized {@link FacetsCollector} for the given search
+ * parameters. The returned {@link FacetsCollector} is guaranteed to satisfy
+ * the requested parameters.
*/
- public FacetsCollector(FacetSearchParams facetSearchParams,
- IndexReader indexReader, TaxonomyReader taxonomyReader) {
- facetsAccumulator = initFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
- scoreDocIdCollector = initScoredDocCollector(facetSearchParams, indexReader, taxonomyReader);
- resultsGuard = new Object();
- }
-
- /**
- * Create a {@link ScoredDocIdCollector} to be used as the first phase of
- * the facet collection. If all facetRequests are do not require the
- * document score, a ScoredDocIdCollector which does not store the document
- * scores would be returned. Otherwise a SDIC which does store the documents
- * will be returned, having an initial allocated space for 1000 such
- * documents' scores.
- */
- protected ScoredDocIdCollector initScoredDocCollector(
- FacetSearchParams facetSearchParams, IndexReader indexReader,
- TaxonomyReader taxonomyReader) {
- boolean scoresNeeded = false;
- for (FacetRequest frq : facetSearchParams.getFacetRequests()) {
- if (frq.requireDocumentScore()) {
- scoresNeeded = true;
- break;
- }
+ public static FacetsCollector create(FacetSearchParams fsp, IndexReader indexReader, TaxonomyReader taxoReader) {
+ if (CountingFacetsCollector.assertParams(fsp) == null) {
+ return new CountingFacetsCollector(fsp, taxoReader);
}
- return ScoredDocIdCollector.create(indexReader.maxDoc(), scoresNeeded);
- }
-
- /**
- * Create the {@link FacetsAccumulator} to be used. Default is
- * {@link StandardFacetsAccumulator}. Called once at the constructor of the collector.
- *
- * @param facetSearchParams
- * The search params.
- * @param indexReader
- * A reader to the index to search in.
- * @param taxonomyReader
- * A reader to the active taxonomy.
- * @return The {@link FacetsAccumulator} to use.
- */
- protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams,
- IndexReader indexReader,
- TaxonomyReader taxonomyReader) {
- return new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
+
+ return new StandardFacetsCollector(fsp, indexReader, taxoReader);
}
-
+
/**
- * Return accumulated facets results (according to faceted search parameters)
- * for collected documents.
- * @throws IOException on error
+ * Returns a {@link FacetResult} per {@link FacetRequest} set in
+ * {@link FacetSearchParams}. Note that if one of the {@link FacetRequest
+ * requests} is for a {@link CategoryPath} that does not exist in the taxonomy,
+ * no matching {@link FacetResult} will be returned.
*/
- public List<FacetResult> getFacetResults() throws IOException {
- synchronized (resultsGuard) { // over protection
- if (results == null) {
- // lazy creation but just once
- results = facetsAccumulator.accumulate(scoreDocIdCollector.getScoredDocIDs());
- scoreDocIdCollector = null;
- }
- return results;
- }
- }
-
- @Override
- public boolean acceptsDocsOutOfOrder() {
- return false;
- }
-
- @Override
- public void collect(int doc) throws IOException {
- scoreDocIdCollector.collect(doc);
- }
-
- @Override
- public void setNextReader(AtomicReaderContext context) throws IOException {
- scoreDocIdCollector.setNextReader(context);
- }
-
- @Override
- public void setScorer(Scorer scorer) throws IOException {
- scoreDocIdCollector.setScorer(scorer);
- }
+ public abstract List<FacetResult> getFacetResults() throws IOException;
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsAccumulator.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsAccumulator.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/StandardFacetsAccumulator.java Mon Jan 21 16:11:30 2013
@@ -87,7 +87,7 @@ public class StandardFacetsAccumulator e
this.facetArrays = facetArrays;
// can only be computed later when docids size is known
isUsingComplements = false;
- partitionSize = PartitionsUtils.partitionSize(searchParams.getFacetIndexingParams(), taxonomyReader);
+ partitionSize = PartitionsUtils.partitionSize(searchParams.indexingParams, taxonomyReader);
maxPartitions = (int) Math.ceil(this.taxonomyReader.getSize() / (double) partitionSize);
accumulateGuard = new Object();
}
@@ -95,7 +95,7 @@ public class StandardFacetsAccumulator e
public StandardFacetsAccumulator(FacetSearchParams searchParams,
IndexReader indexReader, TaxonomyReader taxonomyReader) {
this(searchParams, indexReader, taxonomyReader, new FacetArrays(
- PartitionsUtils.partitionSize(searchParams.getFacetIndexingParams(), taxonomyReader)));
+ PartitionsUtils.partitionSize(searchParams.indexingParams, taxonomyReader)));
}
@Override
@@ -112,7 +112,7 @@ public class StandardFacetsAccumulator e
if (isUsingComplements) {
try {
totalFacetCounts = TotalFacetCountsCache.getSingleton().getTotalCounts(indexReader, taxonomyReader,
- searchParams.getFacetIndexingParams());
+ searchParams.indexingParams);
if (totalFacetCounts != null) {
docids = ScoredDocIdsUtils.getComplementSet(docids, indexReader);
} else {
@@ -159,7 +159,7 @@ public class StandardFacetsAccumulator e
// In this implementation merges happen after each partition,
// but other impl could merge only at the end.
final HashSet<FacetRequest> handledRequests = new HashSet<FacetRequest>();
- for (FacetRequest fr : searchParams.getFacetRequests()) {
+ for (FacetRequest fr : searchParams.facetRequests) {
// Handle and merge only facet requests which were not already handled.
if (handledRequests.add(fr)) {
FacetResultsHandler frHndlr = fr.createFacetResultsHandler(taxonomyReader);
@@ -178,7 +178,7 @@ public class StandardFacetsAccumulator e
// gather results from all requests into a list for returning them
List<FacetResult> res = new ArrayList<FacetResult>();
- for (FacetRequest fr : searchParams.getFacetRequests()) {
+ for (FacetRequest fr : searchParams.facetRequests) {
FacetResultsHandler frHndlr = fr.createFacetResultsHandler(taxonomyReader);
IntermediateFacetResult tmpResult = fr2tmpRes.get(fr);
if (tmpResult == null) {
@@ -321,8 +321,8 @@ public class StandardFacetsAccumulator e
HashMap<CategoryListIterator, Aggregator> categoryLists = new HashMap<CategoryListIterator, Aggregator>();
- FacetIndexingParams indexingParams = searchParams.getFacetIndexingParams();
- for (FacetRequest facetRequest : searchParams.getFacetRequests()) {
+ FacetIndexingParams indexingParams = searchParams.indexingParams;
+ for (FacetRequest facetRequest : searchParams.facetRequests) {
Aggregator categoryAggregator = facetRequest.createAggregator(isUsingComplements, facetArrays, taxonomyReader);
CategoryListIterator cli = indexingParams.getCategoryListParams(facetRequest.categoryPath).createCategoryListIterator(partition);
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/TotalFacetCounts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/TotalFacetCounts.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/TotalFacetCounts.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/TotalFacetCounts.java Mon Jan 21 16:11:30 2013
@@ -8,9 +8,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.util.Arrays;
import java.util.HashMap;
-import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.lucene.facet.index.params.CategoryListParams;
@@ -150,14 +148,13 @@ public class TotalFacetCounts {
}
// needed because FacetSearchParams do not allow empty FacetRequests
- private static final List<FacetRequest> DUMMY_REQ = Arrays.asList(
- new FacetRequest[] { new CountFacetRequest(CategoryPath.EMPTY, 1) });
+ private static final FacetRequest DUMMY_REQ = new CountFacetRequest(CategoryPath.EMPTY, 1);
static TotalFacetCounts compute(final IndexReader indexReader, final TaxonomyReader taxonomy,
final FacetIndexingParams facetIndexingParams) throws IOException {
int partitionSize = PartitionsUtils.partitionSize(facetIndexingParams, taxonomy);
final int[][] counts = new int[(int) Math.ceil(taxonomy.getSize() /(float) partitionSize)][partitionSize];
- FacetSearchParams newSearchParams = new FacetSearchParams(DUMMY_REQ, facetIndexingParams);
+ FacetSearchParams newSearchParams = new FacetSearchParams(facetIndexingParams, DUMMY_REQ);
//createAllListsSearchParams(facetIndexingParams, this.totalCounts);
FacetsAccumulator fe = new StandardFacetsAccumulator(newSearchParams, indexReader, taxonomy) {
@Override
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java Mon Jan 21 16:11:30 2013
@@ -35,8 +35,8 @@ import org.apache.lucene.facet.index.par
*/
public class FacetSearchParams {
- protected final FacetIndexingParams indexingParams;
- protected final List<FacetRequest> facetRequests;
+ public final FacetIndexingParams indexingParams;
+ public final List<FacetRequest> facetRequests;
/**
* Initializes with the given {@link FacetRequest requests} and default
@@ -57,6 +57,14 @@ public class FacetSearchParams {
public FacetSearchParams(List<FacetRequest> facetRequests) {
this(facetRequests, FacetIndexingParams.ALL_PARENTS);
}
+
+ /**
+ * Initilizes with the given {@link FacetRequest requests} and
+ * {@link FacetIndexingParams}.
+ */
+ public FacetSearchParams(FacetIndexingParams indexingParams, FacetRequest... facetRequests) {
+ this(Arrays.asList(facetRequests), indexingParams);
+ }
/**
* Initilizes with the given {@link FacetRequest requests} and
@@ -66,24 +74,8 @@ public class FacetSearchParams {
if (facetRequests == null || facetRequests.size() == 0) {
throw new IllegalArgumentException("at least one FacetRequest must be defined");
}
- this.indexingParams = indexingParams;
this.facetRequests = facetRequests;
- }
-
- /**
- * Returns the {@link FacetIndexingParams} that were passed to the
- * constructor.
- */
- public FacetIndexingParams getFacetIndexingParams() {
- return indexingParams;
- }
-
- /**
- * Returns the list of {@link FacetRequest facet requests} that were passed to
- * the constructor.
- */
- public List<FacetRequest> getFacetRequests() {
- return facetRequests;
+ this.indexingParams = indexingParams;
}
@Override
@@ -92,10 +84,10 @@ public class FacetSearchParams {
final char NEWLINE = '\n';
StringBuilder sb = new StringBuilder("IndexingParams: ");
- sb.append(NEWLINE).append(TAB).append(getFacetIndexingParams());
+ sb.append(NEWLINE).append(TAB).append(indexingParams);
sb.append(NEWLINE).append("FacetRequests:");
- for (FacetRequest facetRequest : getFacetRequests()) {
+ for (FacetRequest facetRequest : facetRequests) {
sb.append(NEWLINE).append(TAB).append(facetRequest);
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/sampling/Sampler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/sampling/Sampler.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/sampling/Sampler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/search/sampling/Sampler.java Mon Jan 21 16:11:30 2013
@@ -210,11 +210,11 @@ public abstract class Sampler {
double overSampleFactor = getSamplingParams().getOversampleFactor();
if (overSampleFactor > 1) { // any factoring to do?
List<FacetRequest> facetRequests = new ArrayList<FacetRequest>();
- for (FacetRequest frq : original.getFacetRequests()) {
+ for (FacetRequest frq : original.facetRequests) {
int overSampledNumResults = (int) Math.ceil(frq.getNumResults() * overSampleFactor);
facetRequests.add(new OverSampledFacetRequest(frq, overSampledNumResults));
}
- res = new FacetSearchParams(facetRequests, original.getFacetIndexingParams());
+ res = new FacetSearchParams(facetRequests, original.indexingParams);
}
return res;
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java Mon Jan 21 16:11:30 2013
@@ -197,7 +197,7 @@ public abstract class FacetTestBase exte
* test with different faceted search params.
*/
protected FacetSearchParams getFacetSearchParams(FacetIndexingParams iParams, FacetRequest... facetRequests) {
- return new FacetSearchParams(Arrays.asList(facetRequests), iParams);
+ return new FacetSearchParams(iParams, facetRequests);
}
/**
@@ -316,7 +316,7 @@ public abstract class FacetTestBase exte
assertCountsAndCardinality(facetCountsTruth, subRes, reqNumResults); // recurse into child results
}
}
-
+
/** Validate results equality */
protected static void assertSameResults(List<FacetResult> expected, List<FacetResult> actual) {
assertEquals("wrong number of facet results", expected.size(), actual.size());
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java Mon Jan 21 16:11:30 2013
@@ -83,8 +83,7 @@ public class FacetTestUtils {
return dirs;
}
- public static IndexTaxonomyReaderPair[] createIndexTaxonomyReaderPair(
- Directory[][] dirs) throws IOException {
+ public static IndexTaxonomyReaderPair[] createIndexTaxonomyReaderPair(Directory[][] dirs) throws IOException {
IndexTaxonomyReaderPair[] pairs = new IndexTaxonomyReaderPair[dirs.length];
for (int i = 0; i < dirs.length; i++) {
IndexTaxonomyReaderPair pair = new IndexTaxonomyReaderPair();
@@ -96,8 +95,7 @@ public class FacetTestUtils {
return pairs;
}
- public static IndexTaxonomyWriterPair[] createIndexTaxonomyWriterPair(
- Directory[][] dirs) throws IOException {
+ public static IndexTaxonomyWriterPair[] createIndexTaxonomyWriterPair(Directory[][] dirs) throws IOException {
IndexTaxonomyWriterPair[] pairs = new IndexTaxonomyWriterPair[dirs.length];
for (int i = 0; i < dirs.length; i++) {
IndexTaxonomyWriterPair pair = new IndexTaxonomyWriterPair();
@@ -111,9 +109,8 @@ public class FacetTestUtils {
return pairs;
}
- public static Collector[] search(IndexSearcher searcher,
- TaxonomyReader taxonomyReader, FacetIndexingParams iParams, int k,
- String... facetNames) throws IOException {
+ public static Collector[] search(IndexSearcher searcher, TaxonomyReader taxonomyReader, FacetIndexingParams iParams,
+ int k, String... facetNames) throws IOException {
Collector[] collectors = new Collector[2];
@@ -125,10 +122,8 @@ public class FacetTestUtils {
}
FacetSearchParams facetSearchParams = new FacetSearchParams(fRequests, iParams);
- TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(
- searcher.getIndexReader().maxDoc(), true);
- FacetsCollector facetsCollector = new FacetsCollector(
- facetSearchParams, searcher.getIndexReader(), taxonomyReader);
+ TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(searcher.getIndexReader().maxDoc(), true);
+ FacetsCollector facetsCollector = FacetsCollector.create(facetSearchParams, searcher.getIndexReader(), taxonomyReader);
Collector mColl = MultiCollector.wrap(topDocsCollector, facetsCollector);
collectors[0] = topDocsCollector;
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java Mon Jan 21 16:11:30 2013
@@ -73,7 +73,7 @@ public class OrdinalMappingReaderTest ex
DirectoryTaxonomyReader taxReader = new DirectoryTaxonomyReader(taxDir);
IndexSearcher searcher = newSearcher(reader1);
FacetSearchParams fsp = new FacetSearchParams(new CountFacetRequest(new CategoryPath("tag"), NUM_DOCS));
- FacetsCollector collector = new FacetsCollector(fsp, reader1, taxReader);
+ FacetsCollector collector = FacetsCollector.create(fsp, reader1, taxReader);
searcher.search(new MatchAllDocsQuery(), collector);
FacetResult result = collector.getFacetResults().get(0);
FacetResultNode node = result.getFacetResultNode();
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/TestFacetsPayloadMigrationReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/TestFacetsPayloadMigrationReader.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/TestFacetsPayloadMigrationReader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/index/TestFacetsPayloadMigrationReader.java Mon Jan 21 16:11:30 2013
@@ -268,7 +268,7 @@ public class TestFacetsPayloadMigrationR
requests.add(new CountFacetRequest(new CategoryPath(dim), 5));
}
FacetSearchParams fsp = new FacetSearchParams(requests, fip);
- FacetsCollector fc = new FacetsCollector(fsp, indexReader, taxoReader);
+ FacetsCollector fc = FacetsCollector.create(fsp, indexReader, taxoReader);
MatchAllDocsQuery base = new MatchAllDocsQuery();
searcher.search(base, fc);
List<FacetResult> facetResults = fc.getFacetResults();
@@ -285,12 +285,10 @@ public class TestFacetsPayloadMigrationR
// verify drill-down
for (String dim : expectedCounts.keySet()) {
CategoryPath drillDownCP = new CategoryPath(dim);
- ArrayList<FacetRequest> request = new ArrayList<FacetRequest>(1);
- request.add(new CountFacetRequest(drillDownCP, 10));
- FacetSearchParams fsp = new FacetSearchParams(request, fip);
+ FacetSearchParams fsp = new FacetSearchParams(fip, new CountFacetRequest(drillDownCP, 10));
Query drillDown = DrillDown.query(fsp, new MatchAllDocsQuery(), drillDownCP);
TotalHitCountCollector total = new TotalHitCountCollector();
- FacetsCollector fc = new FacetsCollector(fsp, indexReader, taxoReader);
+ FacetsCollector fc = FacetsCollector.create(fsp, indexReader, taxoReader);
searcher.search(drillDown, MultiCollector.wrap(fc, total));
assertTrue("no results for drill-down query " + drillDown, total.getTotalHits() > 0);
List<FacetResult> facetResults = fc.getFacetResults();
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/SamplingWrapperTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/SamplingWrapperTest.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/SamplingWrapperTest.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/SamplingWrapperTest.java Mon Jan 21 16:11:30 2013
@@ -29,11 +29,10 @@ import org.apache.lucene.facet.taxonomy.
public class SamplingWrapperTest extends BaseSampleTestTopK {
@Override
- protected FacetsAccumulator getSamplingAccumulator(Sampler sampler,
- TaxonomyReader taxoReader, IndexReader indexReader,
- FacetSearchParams searchParams) {
- FacetsAccumulator fExtrctr = new StandardFacetsAccumulator(searchParams,
- indexReader, taxoReader);
- return new SamplingWrapper(fExtrctr, sampler);
+ protected FacetsAccumulator getSamplingAccumulator(Sampler sampler, TaxonomyReader taxoReader,
+ IndexReader indexReader, FacetSearchParams searchParams) {
+ FacetsAccumulator fa = new StandardFacetsAccumulator(searchParams, indexReader, taxoReader);
+ return new SamplingWrapper(fa, sampler);
}
+
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestDemoFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestDemoFacets.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestDemoFacets.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestDemoFacets.java Mon Jan 21 16:11:30 2013
@@ -22,11 +22,11 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.document.Document;
+import org.apache.lucene.facet.FacetTestUtils;
import org.apache.lucene.facet.index.FacetFields;
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.facet.taxonomy.TaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
@@ -91,7 +91,7 @@ public class TestDemoFacets extends Luce
new CountFacetRequest(new CategoryPath("Author"), 10));
// Aggregatses the facet counts:
- FacetsCollector c = new FacetsCollector(fsp, searcher.getIndexReader(), taxoReader);
+ FacetsCollector c = FacetsCollector.create(fsp, searcher.getIndexReader(), taxoReader);
// MatchAllDocsQuery is for "browsing" (counts facets
// for all non-deleted docs in the index); normally
@@ -103,20 +103,20 @@ public class TestDemoFacets extends Luce
List<FacetResult> results = c.getFacetResults();
assertEquals(2, results.size());
assertEquals("Publish Date (5)\n 2012 (2)\n 2010 (2)\n 1999 (1)\n",
- toSimpleString(results.get(0)));
+ FacetTestUtils.toSimpleString(results.get(0)));
assertEquals("Author (5)\n Lisa (2)\n Frank (1)\n Susan (1)\n Bob (1)\n",
- toSimpleString(results.get(1)));
+ FacetTestUtils.toSimpleString(results.get(1)));
// Now user drills down on Publish Date/2010:
fsp = new FacetSearchParams(new CountFacetRequest(new CategoryPath("Author"), 10));
Query q2 = DrillDown.query(fsp, new MatchAllDocsQuery(), new CategoryPath("Publish Date/2010", '/'));
- c = new FacetsCollector(fsp, searcher.getIndexReader(), taxoReader);
+ c = FacetsCollector.create(fsp, searcher.getIndexReader(), taxoReader);
searcher.search(q2, c);
results = c.getFacetResults();
assertEquals(1, results.size());
assertEquals("Author (2)\n Lisa (1)\n Bob (1)\n",
- toSimpleString(results.get(0)));
+ FacetTestUtils.toSimpleString(results.get(0)));
taxoReader.close();
searcher.getIndexReader().close();
@@ -124,16 +124,4 @@ public class TestDemoFacets extends Luce
taxoDir.close();
}
- private String toSimpleString(FacetResult fr) {
- StringBuilder sb = new StringBuilder();
- toSimpleString(0, sb, fr.getFacetResultNode(), "");
- return sb.toString();
- }
-
- private void toSimpleString(int depth, StringBuilder sb, FacetResultNode node, String indent) {
- sb.append(indent + node.label.components[depth] + " (" + (int) node.value + ")\n");
- for(FacetResultNode childNode : node.subResults) {
- toSimpleString(depth+1, sb, childNode, indent + " ");
- }
- }
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java Mon Jan 21 16:11:30 2013
@@ -73,7 +73,7 @@ public class TestFacetsCollector extends
DirectoryReader r = DirectoryReader.open(indexDir);
DirectoryTaxonomyReader taxo = new DirectoryTaxonomyReader(taxoDir);
- FacetsCollector fc = new FacetsCollector(sParams, r, taxo);
+ FacetsCollector fc = FacetsCollector.create(sParams, r, taxo);
TopScoreDocCollector topDocs = TopScoreDocCollector.create(10, false);
new IndexSearcher(r).search(new MatchAllDocsQuery(), MultiCollector.wrap(fc, topDocs));
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java Mon Jan 21 16:11:30 2013
@@ -336,7 +336,7 @@ public class TestMultipleCategoryLists e
FacetSearchParams facetSearchParams = new FacetSearchParams(facetRequests, iParams);
// perform documents search and facets accumulation
- FacetsCollector facetsCollector = new FacetsCollector(facetSearchParams, ir, tr);
+ FacetsCollector facetsCollector = FacetsCollector.create(facetSearchParams, ir, tr);
searcher.search(q, MultiCollector.wrap(topDocsCollector, facetsCollector));
return facetsCollector;
}
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestSameRequestAccumulation.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestSameRequestAccumulation.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestSameRequestAccumulation.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestSameRequestAccumulation.java Mon Jan 21 16:11:30 2013
@@ -44,7 +44,7 @@ public class TestSameRequestAccumulation
final CountFacetRequest facetRequest = new CountFacetRequest(new CategoryPath("root"), 10);
FacetSearchParams fsp = new FacetSearchParams(facetRequest);
- FacetsCollector fc = new FacetsCollector(fsp, indexReader, taxoReader);
+ FacetsCollector fc = FacetsCollector.create(fsp, indexReader, taxoReader);
searcher.search(new MatchAllDocsQuery(), fc);
final String expected = fc.getFacetResults().get(0).toString();
@@ -53,9 +53,9 @@ public class TestSameRequestAccumulation
fsp = new FacetSearchParams(facetRequest, facetRequest, new CountFacetRequest(new CategoryPath("root"), 10));
// make sure the search params holds 3 requests now
- assertEquals(3, fsp.getFacetRequests().size());
+ assertEquals(3, fsp.facetRequests.size());
- fc = new FacetsCollector(fsp, indexReader, taxoReader);
+ fc = FacetsCollector.create(fsp, indexReader, taxoReader);
searcher.search(new MatchAllDocsQuery(), fc);
List<FacetResult> actual = fc.getFacetResults();
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestStandardFacetsAccumulator.java Mon Jan 21 16:11:30 2013
@@ -1,7 +1,6 @@
package org.apache.lucene.facet.search;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -104,16 +103,14 @@ public class TestStandardFacetsAccumulat
// search for "f:a", only segments 1 and 3 should match results
Query q = new TermQuery(new Term("f", "a"));
- ArrayList<FacetRequest> requests = new ArrayList<FacetRequest>(1);
- CountFacetRequest countNoComplements = new CountFacetRequest(new CategoryPath("A"), 10) {
+ FacetRequest countNoComplements = new CountFacetRequest(new CategoryPath("A"), 10) {
@Override
public boolean supportsComplements() {
return false; // disable complements
}
};
- requests.add(countNoComplements);
- FacetSearchParams fsp = new FacetSearchParams(requests, fip);
- FacetsCollector fc = new FacetsCollector(fsp , indexReader, taxoReader);
+ FacetSearchParams fsp = new FacetSearchParams(fip, countNoComplements);
+ FacetsCollector fc = new StandardFacetsCollector(fsp , indexReader, taxoReader);
indexSearcher.search(q, fc);
List<FacetResult> results = fc.getFacetResults();
assertEquals("received too many facet results", 1, results.size());
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java Mon Jan 21 16:11:30 2013
@@ -167,7 +167,7 @@ public class TestTopKInEachNodeResultHan
facetRequests.add(cfrb20);
FacetSearchParams facetSearchParams = new FacetSearchParams(facetRequests, iParams);
- FacetArrays facetArrays = new FacetArrays(PartitionsUtils.partitionSize(facetSearchParams.getFacetIndexingParams(), tr));
+ 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();
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandler.java Mon Jan 21 16:11:30 2013
@@ -89,7 +89,7 @@ public class TestTopKResultsHandler exte
// do different facet counts and compare to control
FacetSearchParams sParams = getFacetSearchParams(facetRequests, getFacetIndexingParams(partitionSize));
- FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader) {
+ FacetsCollector fc = new StandardFacetsCollector(sParams, indexReader, taxoReader) {
@Override
protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
@@ -153,10 +153,10 @@ public class TestTopKResultsHandler exte
// do different facet counts and compare to control
CategoryPath path = new CategoryPath("a", "b");
- FacetSearchParams sParams = getFacetSearchParams(
- getFacetIndexingParams(partitionSize), new CountFacetRequest(path, Integer.MAX_VALUE));
+ FacetSearchParams sParams = getFacetSearchParams(getFacetIndexingParams(partitionSize),
+ new CountFacetRequest(path, Integer.MAX_VALUE));
- FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader) {
+ FacetsCollector fc = new StandardFacetsCollector(sParams, indexReader, taxoReader) {
@Override
protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
@@ -176,7 +176,7 @@ public class TestTopKResultsHandler exte
FacetSearchParams sParams2 = getFacetSearchParams(
getFacetIndexingParams(partitionSize), new CountFacetRequest(path, Integer.MAX_VALUE));
- FacetsCollector fc2 = new FacetsCollector(sParams2, indexReader, taxoReader) {
+ FacetsCollector fc2 = new StandardFacetsCollector(sParams2, indexReader, taxoReader) {
@Override
protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
FacetsAccumulator fa = new StandardFacetsAccumulator(facetSearchParams, indexReader, taxonomyReader);
@@ -214,7 +214,7 @@ public class TestTopKResultsHandler exte
getFacetIndexingParams(partitionSize),
new CountFacetRequest(path, 10));
- FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader);
+ FacetsCollector fc = FacetsCollector.create(sParams, indexReader, taxoReader);
searcher.search(new MatchAllDocsQuery(), fc);
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/TestTopKResultsHandlerRandom.java Mon Jan 21 16:11:30 2013
@@ -4,15 +4,14 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.List;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
-import org.junit.Test;
-
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;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -37,7 +36,7 @@ public class TestTopKResultsHandlerRando
throws IOException {
Query q = new MatchAllDocsQuery();
FacetSearchParams facetSearchParams = searchParamsWithRequests(numResults, partitionSize);
- FacetsCollector fc = new FacetsCollector(facetSearchParams, indexReader, taxoReader) {
+ FacetsCollector fc = new StandardFacetsCollector(facetSearchParams, indexReader, taxoReader) {
@Override
protected FacetsAccumulator initFacetsAccumulator(
FacetSearchParams facetSearchParams, IndexReader indexReader,
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/associations/AssociationsFacetRequestTest.java Mon Jan 21 16:11:30 2013
@@ -111,7 +111,7 @@ public class AssociationsFacetRequestTes
Query q = new MatchAllDocsQuery();
- FacetsCollector fc = new FacetsCollector(fsp, reader, taxo);
+ FacetsCollector fc = FacetsCollector.create(fsp, reader, taxo);
IndexSearcher searcher = newSearcher(reader);
searcher.search(q, fc);
@@ -136,7 +136,7 @@ public class AssociationsFacetRequestTes
Query q = new MatchAllDocsQuery();
- FacetsCollector fc = new FacetsCollector(fsp, reader, taxo);
+ FacetsCollector fc = FacetsCollector.create(fsp, reader, taxo);
IndexSearcher searcher = newSearcher(reader);
searcher.search(q, fc);
@@ -166,7 +166,7 @@ public class AssociationsFacetRequestTes
Query q = new MatchAllDocsQuery();
- FacetsCollector fc = new FacetsCollector(fsp, reader, taxo);
+ FacetsCollector fc = FacetsCollector.create(fsp, reader, taxo);
IndexSearcher searcher = newSearcher(reader);
searcher.search(q, fc);
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/BaseSampleTestTopK.java Mon Jan 21 16:11:30 2013
@@ -3,22 +3,22 @@ package org.apache.lucene.facet.search.s
import java.util.List;
import java.util.Random;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.TermQuery;
-
-import org.apache.lucene.search.MultiCollector;
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.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetRequest.ResultMode;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.search.results.FacetResult;
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;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -48,7 +48,7 @@ public abstract class BaseSampleTestTopK
@Override
protected FacetSearchParams searchParamsWithRequests(int numResults, int partitionSize) {
FacetSearchParams res = super.searchParamsWithRequests(numResults, partitionSize);
- for (FacetRequest req : res.getFacetRequests()) {
+ for (FacetRequest req : res.facetRequests) {
// randomize the way we aggregate results
if (random().nextBoolean()) {
req.setResultMode(ResultMode.GLOBAL_FLAT);
@@ -78,7 +78,7 @@ public abstract class BaseSampleTestTopK
ScoredDocIdCollector docCollector = ScoredDocIdCollector.create(indexReader.maxDoc(), false);
FacetSearchParams expectedSearchParams = searchParamsWithRequests(K, partitionSize);
- FacetsCollector fc = new FacetsCollector(expectedSearchParams, indexReader, taxoReader);
+ FacetsCollector fc = FacetsCollector.create(expectedSearchParams, indexReader, taxoReader);
searcher.search(q, MultiCollector.wrap(docCollector, fc));
@@ -120,7 +120,7 @@ public abstract class BaseSampleTestTopK
private FacetsCollector samplingCollector(final boolean complement, final Sampler sampler,
FacetSearchParams samplingSearchParams) {
- FacetsCollector samplingFC = new FacetsCollector(samplingSearchParams, indexReader, taxoReader) {
+ FacetsCollector samplingFC = new StandardFacetsCollector(samplingSearchParams, indexReader, taxoReader) {
@Override
protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader,
TaxonomyReader taxonomyReader) {
Modified: lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java?rev=1436446&r1=1436445&r2=1436446&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java (original)
+++ lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java Mon Jan 21 16:11:30 2013
@@ -8,6 +8,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.facet.index.FacetFields;
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.params.CountFacetRequest;
import org.apache.lucene.facet.search.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetRequest.ResultMode;
@@ -111,11 +112,10 @@ public class OversampleWithDepthTest ext
}
/** search reader <code>r</code>*/
- private FacetResult searchWithFacets(IndexReader r,
- TaxonomyReader tr, FacetSearchParams fsp, final SamplingParams params)
- throws IOException {
+ private FacetResult searchWithFacets(IndexReader r, TaxonomyReader tr, FacetSearchParams fsp,
+ final SamplingParams params) throws IOException {
// a FacetsCollector with a sampling accumulator
- FacetsCollector fcWithSampling = new FacetsCollector(fsp, r, tr) {
+ FacetsCollector fcWithSampling = new StandardFacetsCollector(fsp, r, tr) {
@Override
protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, IndexReader indexReader,
TaxonomyReader taxonomyReader) {