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 02:51:49 UTC
lucene-solr:master: Fixed Interval Facet count issue in cases of
open/close intervals on the same values
Repository: lucene-solr
Updated Branches:
refs/heads/master c9132ac66 -> ce57e8a8f
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/ce57e8a8
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ce57e8a8
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ce57e8a8
Branch: refs/heads/master
Commit: ce57e8a8f4274db9ad1a78f06d37a7c9e02b3fb8
Parents: c9132ac
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 19:49:54 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/ce57e8a8/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 4355b80..475ba7f 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -208,6 +208,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
----------------------
@@ -3290,7 +3293,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/ce57e8a8/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 dfe0f77..14bf700 100644
--- a/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/IntervalFacets.java
@@ -157,7 +157,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/ce57e8a8/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");
}
/**