You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2013/04/30 13:20:13 UTC
svn commit: r1477562 - in /lucene/dev/trunk/lucene: ./ demo/
demo/src/java/org/apache/lucene/demo/facet/
demo/src/test/org/apache/lucene/demo/facet/ facet/
facet/src/java/org/apache/lucene/facet/range/
facet/src/java/org/apache/lucene/facet/search/ fac...
Author: mikemccand
Date: Tue Apr 30 11:20:13 2013
New Revision: 1477562
URL: http://svn.apache.org/r1477562
Log:
LUCENE-4965: add dynamic numeric range faceting
Added:
lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
- copied, changed from r1477560, lucene/dev/branches/branch_4x/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java
lucene/dev/trunk/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
- copied unchanged from r1477560, lucene/dev/branches/branch_4x/lucene/demo/src/test/org/apache/lucene/demo/facet/TestRangeFacetsExample.java
lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/range/
- copied from r1477560, lucene/dev/branches/branch_4x/lucene/facet/src/java/org/apache/lucene/facet/range/
lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/
- copied from r1477560, lucene/dev/branches/branch_4x/lucene/facet/src/test/org/apache/lucene/facet/range/
Modified:
lucene/dev/trunk/lucene/CHANGES.txt (contents, props changed)
lucene/dev/trunk/lucene/demo/ (props changed)
lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
lucene/dev/trunk/lucene/facet/ (props changed)
lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java
lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java
lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeAccumulator.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1477562&r1=1477561&r2=1477562&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Tue Apr 30 11:20:13 2013
@@ -101,6 +101,9 @@ New Features
* LUCENE-4966: Add CachingWrapperFilter.sizeInBytes() (Mike McCandless)
+* LUCENE-4965: Add dynamic (no taxonomy index used) numeric range
+ faceting to Lucene's facet module (Mike McCandless, Shai Erera)
+
======================= Lucene 4.3.0 =======================
Changes in backwards compatibility policy
Copied: lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java (from r1477560, lucene/dev/branches/branch_4x/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java?p2=lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java&p1=lucene/dev/branches/branch_4x/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java&r1=1477560&r2=1477562&rev=1477562&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java (original)
+++ lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/RangeFacetsExample.java Tue Apr 30 11:20:13 2013
@@ -24,8 +24,8 @@ import java.util.List;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.LongDocValuesField;
import org.apache.lucene.document.LongField;
+import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.facet.params.FacetIndexingParams;
import org.apache.lucene.facet.params.FacetSearchParams;
import org.apache.lucene.facet.range.LongRange;
@@ -66,7 +66,7 @@ public class RangeFacetsExample implemen
Document doc = new Document();
long then = nowSec - i * 1000;
// Add as doc values field, so we can compute range facets:
- doc.add(new LongDocValuesField("timestamp", then));
+ doc.add(new NumericDocValuesField("timestamp", then));
// Add as numeric field so we can drill-down:
doc.add(new LongField("timestamp", then, Field.Store.NO));
indexWriter.addDocument(doc);
Modified: lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java?rev=1477562&r1=1477561&r2=1477562&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java (original)
+++ lucene/dev/trunk/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java Tue Apr 30 11:20:13 2013
@@ -119,7 +119,10 @@ public class SimpleFacetsExample {
// Now user drills down on Publish Date/2010:
FacetSearchParams fsp = new FacetSearchParams(new CountFacetRequest(new CategoryPath("Author"), 10));
- DrillDownQuery q = new DrillDownQuery(fsp.indexingParams, new MatchAllDocsQuery());
+
+ // Passing no baseQuery means we drill down on all
+ // documents ("browse only"):
+ DrillDownQuery q = new DrillDownQuery(fsp.indexingParams);
q.add(new CategoryPath("Publish Date/2010", '/'));
FacetsCollector fc = FacetsCollector.create(fsp, searcher.getIndexReader(), taxoReader);
searcher.search(q, fc);
Modified: lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java?rev=1477562&r1=1477561&r2=1477562&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java (original)
+++ lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsAccumulator.java Tue Apr 30 11:20:13 2013
@@ -58,7 +58,7 @@ public class FacetsAccumulator {
* constructor.
*/
public FacetsAccumulator(FacetSearchParams searchParams, IndexReader indexReader, TaxonomyReader taxonomyReader) {
- this(searchParams, indexReader, taxonomyReader, null);
+ this(searchParams, indexReader, taxonomyReader, new FacetArrays(taxonomyReader.getSize()));
}
/**
@@ -97,9 +97,6 @@ public class FacetsAccumulator {
*/
public FacetsAccumulator(FacetSearchParams searchParams, IndexReader indexReader, TaxonomyReader taxonomyReader,
FacetArrays facetArrays) {
- if (facetArrays == null) {
- facetArrays = new FacetArrays(taxonomyReader.getSize());
- }
this.facetArrays = facetArrays;
this.indexReader = indexReader;
this.taxonomyReader = taxonomyReader;
@@ -199,4 +196,7 @@ public class FacetsAccumulator {
return res;
}
+ protected boolean requiresDocScores() {
+ return getAggregator().requiresDocScores();
+ }
}
Modified: lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java?rev=1477562&r1=1477561&r2=1477562&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java (original)
+++ lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/search/FacetsCollector.java Tue Apr 30 11:20:13 2013
@@ -175,7 +175,7 @@ public abstract class FacetsCollector ex
* given {@link FacetsAccumulator}.
*/
public static FacetsCollector create(FacetsAccumulator accumulator) {
- if (accumulator.getAggregator().requiresDocScores()) {
+ if (accumulator.requiresDocScores()) {
return new DocsAndScoresCollector(accumulator);
} else {
return new DocsOnlyCollector(accumulator);
Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeAccumulator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeAccumulator.java?rev=1477562&r1=1477560&r2=1477562&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeAccumulator.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeAccumulator.java Tue Apr 30 11:20:13 2013
@@ -25,7 +25,6 @@ import org.apache.lucene.document.Double
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FloatDocValuesField;
import org.apache.lucene.document.FloatField;
-import org.apache.lucene.document.LongDocValuesField;
import org.apache.lucene.document.LongField;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.facet.FacetTestCase;
@@ -164,7 +163,7 @@ public class TestRangeAccumulator extend
Document doc = new Document();
long v = random().nextLong();
values[i] = v;
- doc.add(new LongDocValuesField("field", v));
+ doc.add(new NumericDocValuesField("field", v));
doc.add(new LongField("field", v, Field.Store.NO));
w.addDocument(doc);
}