You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2015/07/17 13:10:26 UTC

svn commit: r1691514 - in /lucene/dev/branches/solr7787: ./ lucene/ lucene/misc/ lucene/misc/src/java/org/apache/lucene/index/ lucene/misc/src/test/org/apache/lucene/index/ solr/ solr/core/ solr/core/src/java/org/apache/solr/search/facet/ solr/core/src...

Author: dweiss
Date: Fri Jul 17 11:10:25 2015
New Revision: 1691514

URL: http://svn.apache.org/r1691514
Log:
Merging with trunk.

Added:
    lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/SuggesterResponse.java
      - copied unchanged from r1691513, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/SuggesterResponse.java
    lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/Suggestion.java
      - copied unchanged from r1691513, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/Suggestion.java
    lucene/dev/branches/solr7787/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
      - copied unchanged from r1691513, lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
Modified:
    lucene/dev/branches/solr7787/   (props changed)
    lucene/dev/branches/solr7787/lucene/   (props changed)
    lucene/dev/branches/solr7787/lucene/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/solr7787/lucene/misc/   (props changed)
    lucene/dev/branches/solr7787/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
    lucene/dev/branches/solr7787/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
    lucene/dev/branches/solr7787/solr/   (props changed)
    lucene/dev/branches/solr7787/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/solr7787/solr/core/   (props changed)
    lucene/dev/branches/solr7787/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
    lucene/dev/branches/solr7787/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
    lucene/dev/branches/solr7787/solr/solrj/   (props changed)
    lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java

Modified: lucene/dev/branches/solr7787/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/lucene/CHANGES.txt?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/solr7787/lucene/CHANGES.txt Fri Jul 17 11:10:25 2015
@@ -259,6 +259,9 @@ Bug fixes
 * LUCENE-6680: Preserve two suggestions that have same key and weight but
   different payloads (Arcadius Ahouansou via Mike McCandless)
 
+* LUCENE-6681: SortingMergePolicy must override MergePolicy.size(...).
+  (Christine Poerschke via Adrien Grand)
+
 Changes in Runtime Behavior
 
 * LUCENE-6501: The subreader structure in ParallelCompositeReader

Modified: lucene/dev/branches/solr7787/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java (original)
+++ lucene/dev/branches/solr7787/lucene/misc/src/java/org/apache/lucene/index/SortingMergePolicy.java Fri Jul 17 11:10:25 2015
@@ -261,6 +261,11 @@ public final class SortingMergePolicy ex
   }
 
   @Override
+  protected long size(SegmentCommitInfo info, IndexWriter writer) throws IOException {
+    return in.size(info, writer);
+  }
+
+  @Override
   public String toString() {
     return "SortingMergePolicy(" + in + ", sorter=" + sorter + ")";
   }

Modified: lucene/dev/branches/solr7787/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java (original)
+++ lucene/dev/branches/solr7787/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java Fri Jul 17 11:10:25 2015
@@ -18,6 +18,8 @@ package org.apache.lucene.index;
  */
 
 import java.io.IOException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -192,4 +194,15 @@ public class TestSortingMergePolicy exte
     }
   }
 
+  public void testMethodsOverridden() throws Exception {
+    for (Method m : MergePolicy.class.getDeclaredMethods()) {
+      if (Modifier.isFinal(m.getModifiers())) continue;
+      try {
+        SortingMergePolicy.class.getDeclaredMethod(m.getName(),  m.getParameterTypes());
+      } catch (NoSuchMethodException e) {
+        fail("SortingMergePolicy needs to override '"+m+"'");
+      }
+    }
+  }
+
 }

Modified: lucene/dev/branches/solr7787/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/solr/CHANGES.txt?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/solr/CHANGES.txt (original)
+++ lucene/dev/branches/solr7787/solr/CHANGES.txt Fri Jul 17 11:10:25 2015
@@ -332,6 +332,12 @@ Other Changes
 * SOLR-7703: Authentication plugin is now loaded using the RessourceLoader.
   (Avi Digmi via Anshum Gupta)
 
+* SOLR-7800: JSON Facet API: the avg() facet function now skips missing values
+  rather than treating them as a 0 value.  The def() function can be used to
+  treat missing values as 0 if that is desired.
+  Example:  facet:{ mean:"avg(def(myfield,0))" }
+
+
 ==================  5.2.1 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

Modified: lucene/dev/branches/solr7787/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java (original)
+++ lucene/dev/branches/solr7787/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java Fri Jul 17 11:10:25 2015
@@ -348,9 +348,11 @@ class AvgSlotAcc extends DoubleFuncSlotA
 
   @Override
   public void collect(int doc, int slotNum) {
-    double val = values.doubleVal(doc);  // todo: worth trying to share this value across multiple stats that need it?
-    result[slotNum] += val;
-    counts[slotNum] += 1;
+    double val = values.doubleVal(doc);
+    if (val != 0 || values.exists(doc)) {
+      result[slotNum] += val;
+      counts[slotNum] += 1;
+    }
   }
 
   private double avg(double tot, int count) {

Modified: lucene/dev/branches/solr7787/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java (original)
+++ lucene/dev/branches/solr7787/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java Fri Jul 17 11:10:25 2015
@@ -737,13 +737,13 @@ public class TestJsonFacets extends Solr
 
     // stats at top level
     client.testJQ(params(p, "q", "*:*"
-            , "json.facet", "{ sum1:'sum(${num_d})', sumsq1:'sumsq(${num_d})', avg1:'avg(${num_d})', min1:'min(${num_d})', max1:'max(${num_d})'" +
+            , "json.facet", "{ sum1:'sum(${num_d})', sumsq1:'sumsq(${num_d})', avg1:'avg(${num_d})', avg2:'avg(def(${num_d},0))', min1:'min(${num_d})', max1:'max(${num_d})'" +
                 ", numwhere:'unique(${where_s})', unique_num_i:'unique(${num_i})', unique_num_d:'unique(${num_d})', unique_date:'unique(${date})'" +
                 ", where_hll:'hll(${where_s})', hll_num_i:'hll(${num_i})', hll_num_d:'hll(${num_d})', hll_date:'hll(${date})'" +
                 ", med:'percentile(${num_d},50)', perc:'percentile(${num_d},0,50.0,100)' }"
         )
         , "facets=={ 'count':6, " +
-            "sum1:3.0, sumsq1:247.0, avg1:0.5, min1:-9.0, max1:11.0" +
+            "sum1:3.0, sumsq1:247.0, avg1:0.6, avg2:0.5, min1:-9.0, max1:11.0" +
             ", numwhere:2, unique_num_i:4, unique_num_d:5, unique_date:5" +
             ", where_hll:2, hll_num_i:4, hll_num_d:5, hll_date:5" +
             ", med:2.0, perc:[-9.0,2.0,11.0]  }"

Modified: lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java?rev=1691514&r1=1691513&r2=1691514&view=diff
==============================================================================
--- lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java (original)
+++ lucene/dev/branches/solr7787/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java Fri Jul 17 11:10:25 2015
@@ -49,6 +49,7 @@ public class QueryResponse extends SolrR
   private NamedList<Object> _highlightingInfo = null;
   private NamedList<Object> _spellInfo = null;
   private List<NamedList<Object>> _clusterInfo = null;
+  private Map<String,NamedList<Object>> _suggestInfo = null;
   private NamedList<Object> _statsInfo = null;
   private NamedList<NamedList<Number>> _termsInfo = null;
   private String _cursorMarkNext = null;
@@ -78,6 +79,9 @@ public class QueryResponse extends SolrR
   // Clustering Response
   private ClusteringResponse _clusterResponse = null;
 
+  // Suggester Response
+  private SuggesterResponse _suggestResponse = null;
+
   // Terms Response
   private TermsResponse _termsResponse = null;
   
@@ -153,6 +157,10 @@ public class QueryResponse extends SolrR
         _clusterInfo = (ArrayList<NamedList<Object>>) res.getVal(i);
         extractClusteringInfo(_clusterInfo);
       }
+      else if ( "suggest".equals( n ) )  {
+        _suggestInfo = (Map<String,NamedList<Object>>) res.getVal( i );
+        extractSuggesterInfo(_suggestInfo);
+      }
       else if ( "stats".equals( n ) )  {
         _statsInfo = (NamedList<Object>) res.getVal( i );
         extractStatsInfo( _statsInfo );
@@ -176,6 +184,10 @@ public class QueryResponse extends SolrR
     _clusterResponse = new ClusteringResponse(clusterInfo);
   }
 
+  private void extractSuggesterInfo(Map<String, NamedList<Object>> suggestInfo) {
+    _suggestResponse = new SuggesterResponse(suggestInfo);
+  }
+
   private void extractTermsInfo(NamedList<NamedList<Number>> termsInfo) {
     _termsResponse = new TermsResponse(termsInfo);
   }
@@ -553,6 +565,10 @@ public class QueryResponse extends SolrR
     return _clusterResponse;
   }
 
+  public SuggesterResponse getSuggesterResponse() {
+    return _suggestResponse;
+  }
+
   public TermsResponse getTermsResponse() {
     return _termsResponse;
   }