Hi Dan,
FYI the main reference page on this technique is here:
http://wiki.apache.org/solr/SpatialForTimeDurations
(note the slight buffering needed for the query shape).
You got the exception you got because you separated the dimensions of your
query rectangle using a comma, which got Spatial4j confused as it thought
you might be providing a point as lat,lon. If you look carefully at how
to do it, you're supposed to use a space.
By the way, as of Solr 4.2, you can use Solr's range query syntax in spatial
which I think is more clear.
Less clear: grantRoundDates:Intersects(0, 2013224, 2014231, 300)
More clear: grantRoundDates:[0 2013224 TO 2014231 300]
~ David
zonski wrote
Hi,
I'm trying to implement date range searching using spatial features as
per:
http://lucene.472066.n3.nabble.com/Modeling-openinghours-using-multipoints-td4025336.html
I've followed the steps and read through the linked articles but I can't
get past an exception:
InvalidShapeException: Invalid longitude: longitudes are range
-180 to 180: provided lon: [2013224.0]
I am trying to model date ranges so a thing (in my case a grant that you
can apply for) could be open open for a few months, then closes for a few
months, and then re-opens, etc. I want to find all grants that are open
for applicants in a specific date range (e.g. what can I apply for between
1-Mar-2013 and 1-Apr-2013).
I have a field type like so:
fieldType name=date_range
class=solr.SpatialRecursivePrefixTreeFieldType
geo=false
worldBounds=0 0 300 300
distErrPct=0
maxDistErr=1
units=degrees
/
And a field like so:
field name=grantRoundDates type=date_range indexed=true
stored=true required=false multiValued=true/
Then I store values in this field, using a simple/rough calc of (year *
1000 + dayOfYear). I know this is not a perfect mapping for duration but I
think it should be enough for my purposes and is easy to read/debug.
So I end up with something like:
field name=grantRoundDates
2013224 2013301
/field
Then I query on this using something like:
grantRoundDates:Intersects(0, 2013224, 2014231, 300)
And I get the above exception about 2013224 not being a valid longitude.
I'm not sure why Solr is trying to convert this to Longitude when I have
geo=false but I admit my understanding of this whole space is pretty basic
at this stage.
The examples in the links provided all use nice, small numbers. If I use
small numbers like this:
grantRoundDates:Intersects(0, 100, 100, 300)
Then it doesn't error but also returns no results (as expected). Am I
suppose to map my range to fit between -180 and 180, or there is something
more I have to do to get Solr to allow my larger numbers?
Thanks,
Dan
-
Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
--
View this message in context:
http://lucene.472066.n3.nabble.com/Multipoint-date-ranges-with-spatial-Invalid-Longitude-Exception-tp4083882p4084069.html
Sent from the Solr - User mailing list archive at Nabble.com.