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());
}