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 2017/06/07 14:11:31 UTC

[27/50] [abbrv] lucene-solr:feature/autoscaling: SOLR-7452: fix facet refinement for method:dvhash

SOLR-7452: fix facet refinement for method:dvhash


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/67876b30
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/67876b30
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/67876b30

Branch: refs/heads/feature/autoscaling
Commit: 67876b30277314f15f5e55ef321a39d67e7f1bac
Parents: db2b19f
Author: yonik <yo...@apache.org>
Authored: Sun Jun 4 20:13:25 2017 -0400
Committer: yonik <yo...@apache.org>
Committed: Sun Jun 4 20:13:33 2017 -0400

----------------------------------------------------------------------
 .../src/java/org/apache/solr/search/facet/FacetField.java     | 7 ++++++-
 .../org/apache/solr/search/facet/TestJsonFacetRefinement.java | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/67876b30/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetField.java b/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
index e8e624c..42f791c 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetField.java
@@ -98,7 +98,12 @@ public class FacetField extends FacetRequestSorted {
     FieldType ft = sf.getType();
     boolean multiToken = sf.multiValued() || ft.multiValuedFieldCache();
 
-    NumberType ntype = ft.getNumberType();
+    if (fcontext.facetInfo != null) {
+      // refinement... we will end up either skipping the entire facet, or doing calculating only specific facet buckets
+      return new FacetFieldProcessorByArrayDV(fcontext, this, sf);
+    }
+
+      NumberType ntype = ft.getNumberType();
     // ensure we can support the requested options for numeric faceting:
     if (ntype != null) {
       if (prefix != null) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/67876b30/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetRefinement.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetRefinement.java b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetRefinement.java
index e0b1865..9087d30 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetRefinement.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetRefinement.java
@@ -238,7 +238,7 @@ public class TestJsonFacetRefinement extends SolrTestCaseHS {
     ModifiableSolrParams p = params("cat_s", "cat_s", "xy_s", "xy_s", "num_d", "num_d", "qw_s", "qw_s", "er_s","er_s");
     doBasicRefinement( p );
 
-    p.set("terms","method:dv,");
+    p.set("terms","method:dvhash,");
     doBasicRefinement( p );
 
     // multi-valued strings