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/02/27 23:03:26 UTC
lucene-solr git commit: SOLR-8671: Date statistics: make "sum" a
double instead of a long/date
Repository: lucene-solr
Updated Branches:
refs/heads/master 126ac9a5f -> ae4d77ae4
SOLR-8671: Date statistics: make "sum" a double instead of a long/date
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ae4d77ae
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ae4d77ae
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ae4d77ae
Branch: refs/heads/master
Commit: ae4d77ae488fe3c2edf0f9477d843e2433a07a7c
Parents: 126ac9a
Author: Tomás Fernández Löbbe <tf...@apache.org>
Authored: Sat Feb 27 14:02:30 2016 -0800
Committer: Tomás Fernández Löbbe <tf...@apache.org>
Committed: Sat Feb 27 14:02:30 2016 -0800
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../apache/solr/handler/component/StatsValuesFactory.java | 10 +++++-----
.../apache/solr/handler/component/StatsComponentTest.java | 6 +++---
3 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae4d77ae/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 638d239..e7c14de 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -332,6 +332,9 @@ Other Changes
* SOLR-8752: Add a test for SizeLimitedDistributedMap and improve javadocs. (shalin)
+* SOLR-8671: Date statistics: make "sum" a double instead of a long/date (Tom Hill, Christine Poerschke,
+ Tommás Fernández Löbbe)
+
================== 5.5.1 ==================
Bug Fixes
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae4d77ae/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java b/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
index ec61153..d49a108 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
@@ -705,7 +705,7 @@ class EnumStatsValues extends AbstractStatsValues<EnumFieldValue> {
*/
class DateStatsValues extends AbstractStatsValues<Date> {
- private long sum = 0;
+ private double sum = 0.0;
double sumOfSquares = 0;
final protected boolean computeSum;
@@ -737,7 +737,7 @@ class DateStatsValues extends AbstractStatsValues<Date> {
@Override
protected void updateTypeSpecificStats(NamedList stv) {
if (computeSum) {
- sum += ((Date) stv.get("sum")).getTime();
+ sum += ((Number) stv.get("sum")).doubleValue();
}
if (computeSumOfSquares) {
sumOfSquares += ((Number) stv.get("sumOfSquares")).doubleValue();
@@ -784,10 +784,10 @@ class DateStatsValues extends AbstractStatsValues<Date> {
@Override
protected void addTypeSpecificStats(NamedList<Object> res) {
if (statsField.includeInResponse(Stat.sum)) {
- res.add("sum", new Date(sum));
+ res.add("sum", sum);
}
if (statsField.includeInResponse(Stat.mean)) {
- res.add("mean", (count > 0) ? new Date(sum / count) : null);
+ res.add("mean", (count > 0) ? new Date((long)(sum / count)) : null);
}
if (statsField.includeInResponse(Stat.sumOfSquares)) {
res.add("sumOfSquares", sumOfSquares);
@@ -807,7 +807,7 @@ class DateStatsValues extends AbstractStatsValues<Date> {
if (count <= 1) {
return 0.0D;
}
- return Math.sqrt(((count * sumOfSquares) - (sum * (double)sum))
+ return Math.sqrt(((count * sumOfSquares) - (sum * sum))
/ (count * (count - 1.0D)));
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae4d77ae/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java
index 7cfb656..c0e88fc 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java
@@ -482,7 +482,7 @@ public class StatsComponentTest extends AbstractSolrTestCase {
"//long[@name='count'][.='1']",
"//date[@name='min'][.='2015-12-14T09:00:00Z']",
"//date[@name='max'][.='2015-12-14T09:00:00Z']",
- "//date[@name='sum'][.='2015-12-14T09:00:00Z']",
+ "//double[@name='sum'][.='1.4500836E12']",
"//date[@name='mean'][.='2015-12-14T09:00:00Z']",
"//double[@name='sumOfSquares'][.='" + Double.toString(2102742446988960000000000.0)+"']"
);
@@ -495,7 +495,7 @@ public class StatsComponentTest extends AbstractSolrTestCase {
"//long[@name='count'][.='3']",
"//date[@name='min'][.='2015-12-14T09:00:00Z']",
"//date[@name='max'][.='2215-12-14T09:00:00Z']",
- "//date[@name='sum'][.='2407-11-08T03:00:00Z']",
+ "//double[@name='sum'][.='1.38172716E13']",
"//date[@name='mean'][.='2115-12-14T09:00:00Z']",
"//double[@name='sumOfSquares'][.='" + Double.toString(83555549895529430000000000.0)+"']",
// The following number matches the number returned by the current solr
@@ -826,7 +826,7 @@ public class StatsComponentTest extends AbstractSolrTestCase {
,"//lst[@name='active_dt']/null[@name='min']"
,"//lst[@name='active_dt']/null[@name='max']"
,"//lst[@name='active_dt']/null[@name='mean']"
- ,"//lst[@name='active_dt']/date[@name='sum'][.='1970-01-01T00:00:00Z']"
+ ,"//lst[@name='active_dt']/double[@name='sum'][.='0.0']"
,"//lst[@name='active_dt']/double[@name='sumOfSquares'][.='0.0']"
,"//lst[@name='active_dt']/double[@name='stddev'][.='0.0']"