You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by gs...@apache.org on 2010/12/02 16:49:39 UTC
svn commit: r1041419 - in /lucene/dev/branches/branch_3x: ./ lucene/ solr/
solr/src/common/org/apache/solr/common/params/SpatialParams.java
solr/src/java/org/apache/solr/search/SpatialFilterQParser.java
Author: gsingers
Date: Thu Dec 2 15:49:39 2010
New Revision: 1041419
URL: http://svn.apache.org/viewvc?rev=1041419&view=rev
Log:
SOLR-1568: start backporting Yonik's changes from trunk, one at a time
Modified:
lucene/dev/branches/branch_3x/ (props changed)
lucene/dev/branches/branch_3x/lucene/ (props changed)
lucene/dev/branches/branch_3x/solr/ (props changed)
lucene/dev/branches/branch_3x/solr/src/common/org/apache/solr/common/params/SpatialParams.java
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java
Modified: lucene/dev/branches/branch_3x/solr/src/common/org/apache/solr/common/params/SpatialParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/common/org/apache/solr/common/params/SpatialParams.java?rev=1041419&r1=1041418&r2=1041419&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/common/org/apache/solr/common/params/SpatialParams.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/common/org/apache/solr/common/params/SpatialParams.java Thu Dec 2 15:49:39 2010
@@ -24,6 +24,7 @@ package org.apache.solr.common.params;
public interface SpatialParams {
public static final String POINT = "pt";
public static final String DISTANCE = "d";
+ public static final String FIELD = "sfield"; // the field that contains the points we are measuring from "pt"
/**
* km - kilometers
* mi - miles
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java?rev=1041419&r1=1041418&r2=1041419&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/SpatialFilterQParser.java Thu Dec 2 15:49:39 2010
@@ -67,25 +67,31 @@ public class SpatialFilterQParser extend
//TODO: Should we accept multiple fields
String[] fields = localParams.getParams(CommonParams.FL);
if (fields == null || fields.length == 0) {
- throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, CommonParams.FL + " is not properly specified");
+ String field = getParam(SpatialParams.FIELD);
+ if (field == null)
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, " missing field for spatial request");
+ fields = new String[] {field};
}
- String pointStr = params.get(SpatialParams.POINT);
+
+ String pointStr = getParam(SpatialParams.POINT);
if (pointStr == null) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, SpatialParams.POINT + " is not properly specified");
}
- double dist = params.getDouble(SpatialParams.DISTANCE, -1);
+ double dist = -1;
+ String distS = getParam(SpatialParams.DISTANCE);
+ if (distS != null) dist = Double.parseDouble(distS);
+
if (dist < 0) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, SpatialParams.DISTANCE + " must be >= 0");
}
- IndexSchema schema = req.getSchema();
String measStr = localParams.get(SpatialParams.MEASURE);
//TODO: Need to do something with Measures
Query result = null;
//fields is valid at this point
if (fields.length == 1) {
- SchemaField sf = schema.getField(fields[0]);
+ SchemaField sf = req.getSchema().getField(fields[0]);
FieldType type = sf.getType();
if (type instanceof SpatialQueryable) {