You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2016/10/25 03:06:03 UTC
lucene-solr:branch_6x: SOLR-9687: Fixed Interval Facet count issue in
cases of open/close intervals on the same values
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x e06c60dd9 -> 96e847a10
SOLR-9687: Fixed Interval Facet count issue in cases of open/close intervals on the same values
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/96e847a1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/96e847a1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/96e847a1
Branch: refs/heads/branch_6x
Commit: 96e847a10c532663e39ad2de184ed8582e5eb0e2
Parents: e06c60d
Author: Tomas Fernandez Lobbe <tf...@apache.org>
Authored: Mon Oct 24 19:49:54 2016 -0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Mon Oct 24 20:05:48 2016 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 5 ++++-
.../java/org/apache/solr/request/IntervalFacets.java | 12 +++++++++++-
.../org/apache/solr/request/TestIntervalFaceting.java | 7 ++++++-
3 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/96e847a1/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 2fc48be..7a437606 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -169,6 +169,9 @@ Bug Fixes
* SOLR-9518: Kerberos Delegation Tokens don't work without a chrooted ZK (Ishan Chattopadhyaya,via noble)
+* SOLR-9687: Fixed Interval Facet count issue in cases of open/close intervals on the same values
+ (Andy Chillrud, Tom�s Fern�ndez L�bbe)
+
Optimizations
----------------------
@@ -3267,7 +3270,7 @@ Bug Fixes
while accessing other collections. (Shai Erera)
* SOLR-7412: Fixed range.facet.other parameter for distributed requests.
- (Will Miller, Tom�s Fern�ndes L�bbe)
+ (Will Miller, Tom�s Fern�ndez L�bbe)
* SOLR-6087: SolrIndexSearcher makes no DelegatingCollector.finish() call when IndexSearcher
throws an expected exception. (Christine Poerschke via shalin)
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/96e847a1/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/request/IntervalFacets.java b/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
index fedc7fe..ef62bc4 100644
--- a/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
@@ -156,7 +156,17 @@ public class IntervalFacets implements Iterable<FacetInterval> {
if (o2.start == null) {
return 1;
}
- return o1.start.compareTo(o2.start);
+ int startComparison = o1.start.compareTo(o2.start);
+ if (startComparison == 0) {
+ if (o1.startOpen != o2.startOpen) {
+ if (!o1.startOpen) {
+ return -1;
+ } else {
+ return 1;
+ }
+ }
+ }
+ return startComparison;
}
});
return sortedIntervals;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/96e847a1/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
index 68eac48..5a4510f 100644
--- a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
+++ b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
@@ -943,6 +943,9 @@ public class TestIntervalFaceting extends SolrTestCaseJ4 {
assertIntervalQuery(field, "(0,2]", "2");
assertIntervalQuery(field, "[*,5]", "6");
assertIntervalQuery(field, "[*,3)", "3", "[2,5)", "3", "[6,8)", "2", "[3,*]", "7", "[10,10]", "1", "[10,10]", "1", "[10,10]", "1");
+ assertIntervalQuery(field, "(5,*]", "4", "[5,5]", "1", "(*,5)", "5");
+ assertIntervalQuery(field, "[5,5]", "1", "(*,5)", "5", "(5,*]", "4");
+ assertIntervalQuery(field, "(5,*]", "4", "(*,5)", "5", "[5,5]", "1");
}
@@ -955,7 +958,9 @@ public class TestIntervalFaceting extends SolrTestCaseJ4 {
assertIntervalQuery(field, "[*,bird)", "2", "[bird,cat)", "1", "[cat,dog)", "2", "[dog,*]", "4");
assertIntervalQuery(field, "[*,*]", "9", "[*,dog)", "5", "[*,dog]", "8", "[dog,*]", "4");
assertIntervalQuery(field, field + ":dog", 3, "[*,*]", "3", "[*,dog)", "0", "[*,dog]", "3", "[dog,*]", "3", "[bird,cat]", "0");
-
+ assertIntervalQuery(field, "(*,dog)", "5", "[dog, dog]", "3", "(dog,*)", "1");
+ assertIntervalQuery(field, "[dog, dog]", "3", "(dog,*)", "1", "(*,dog)", "5");
+ assertIntervalQuery(field, "(dog,*)", "1", "(*,dog)", "5", "[dog, dog]", "3");
}
/**