You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2012/11/16 00:56:03 UTC

svn commit: r1410115 - in /lucene/dev/trunk/solr: ./ core/src/java/org/apache/solr/schema/ core/src/java/org/apache/solr/search/

Author: yonik
Date: Thu Nov 15 23:56:02 2012
New Revision: 1410115

URL: http://svn.apache.org/viewvc?rev=1410115&view=rev
Log:
QueryParsing.toString support for WrappedQuery, ExtendedQuery

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/LatLonType.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExtendedQueryBase.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1410115&r1=1410114&r2=1410115&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Thu Nov 15 23:56:02 2012
@@ -199,6 +199,11 @@ Bug Fixes
   foobar~2 is equivalent to FooBar~2 on a field that includes lowercasing.
   (yonik)
 
+* SOLR-4081: QueryParsing.toString, used during debugQuery=true, did not
+  correctly handle ExtendedQueries such as WrappedQuery
+  (used when cache=false), spatial queries, and frange queires.
+  (Eirik Lygre, yonik)
+
 
 Other Changes
 ----------------------

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/LatLonType.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/LatLonType.java?rev=1410115&r1=1410114&r2=1410115&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/LatLonType.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/LatLonType.java Thu Nov 15 23:56:02 2012
@@ -553,7 +553,7 @@ class SpatialDistanceQuery extends Exten
   public String toString(String field)
   {
     float boost = getBoost();
-    return (boost!=1.0?"(":"") +
+    return super.getOptions() + (boost!=1.0?"(":"") +
             (calcDist ? "geofilt" : "bbox") + "(latlonSource="+origField +"(" + latSource + "," + lonSource + ")"
             +",latCenter="+latCenter+",lonCenter="+lonCenter
             +",dist=" + dist

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExtendedQueryBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExtendedQueryBase.java?rev=1410115&r1=1410114&r2=1410115&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExtendedQueryBase.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ExtendedQueryBase.java Thu Nov 15 23:56:02 2012
@@ -54,13 +54,20 @@ public class ExtendedQueryBase extends Q
   }
 
   public String getOptions() {
+    return getOptionsString(this);
+  }
+
+  public static String getOptionsString(ExtendedQuery q) {
     StringBuilder sb = new StringBuilder();
-    if (!cache) {
+    if (!q.getCache()) {
       sb.append("{!cache=false");
-      sb.append(" cost=");
-      sb.append(cost);
+      int cost = q.getCost();
+      if (cost != 0) {
+        sb.append(" cost=");
+        sb.append(q.getCost());
+      }
       sb.append("}");
-    } else if (cacheSep) {
+    } else if (q.getCacheSep()) {
       sb.append("{!cache=sep");
       sb.append("}");
     }

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java?rev=1410115&r1=1410114&r2=1410115&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java Thu Nov 15 23:56:02 2012
@@ -536,6 +536,11 @@ public class QueryParsing {
     } else if (query instanceof ConstantScoreQuery) {
       out.append(query.toString());
       writeBoost = false;
+    } else if (query instanceof WrappedQuery) {
+      WrappedQuery q = (WrappedQuery)query;
+      out.append(q.getOptions());
+      toString(q.getWrappedQuery(), schema, out, flags);
+      writeBoost = false; // we don't use the boost on wrapped queries
     } else {
       out.append(query.getClass().getSimpleName()
               + '(' + query.toString() + ')');

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java?rev=1410115&r1=1410114&r2=1410115&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java Thu Nov 15 23:56:02 2012
@@ -211,7 +211,7 @@ public class SolrConstantScoreQuery exte
   /** Prints a user-readable version of this query. */
   @Override
   public String toString(String field) {
-    return "ConstantScore(" + filter.toString()
+    return ExtendedQueryBase.getOptionsString(this) + "ConstantScore(" + filter.toString()
       + (getBoost()==1.0 ? ")" : "^" + getBoost());
   }