[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch small updates, started working on the multi-field solution. Almost ready > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch, SOLR-1568.patch, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch Unit test that shows problems at the pole. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch, SOLR-1568.patch, SOLR-1568.patch, SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch Got some tests and most of the rework from Yonik's comments. Some of the tests explicitly fail due to bugs in the underlying tile stuff in Lucene. Added support for handling the poles and the prime and 180th meridian to the LatLonType. I think we're in pretty good shape now, assuming the underlying Lucene bits get fixed soon. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch, SOLR-1568.patch, SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch Compiles and is much closer, but still doesn't work exactly right. Currently focusing on filtering for LatLonType. Haven't tested filter creation for the other types yet. Need to write unit tests. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch, SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch Here's what I have in my trunk now. Chris, haven't had a chance to work on yours, but am going to look today, as well as move over to the new trunk. Just putting this up here in case I do something stupid on my local drive. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch, > SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris A. Mattmann updated SOLR-1568: Attachment: SOLR-1568.Mattmann.031010.patch.txt OK, this guy compiles, and I tried to guess in a couple areas (e.g., please look at Haversine) where variables were missing. One nice thing you can take out of this is the normalize functions for lat and lon in DistanceUtils -- those will probably be generally useful. I'll also look to bring some of this over to SIS, as we start to flesh it out. I saw an error during unit tests in org.apache.solr.client.solrj.embedded.SolrExampleEmbeddedTest, but it seems unrelated (so suspicious -- is this a real bug?): [chipotle:solr/build/test-results] mattmann% more TEST-org.apache.solr.client.solrj.embedded.SolrExampleEmbeddedTest.txt Testsuite: org.apache.solr.client.solrj.embedded.SolrExampleEmbeddedTest Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec Testcase: testContentStreamRequest took 0.003 sec Caused an ERROR Forked Java VM exited abnormally. Please note the time in the report does not re flect the time until the VM exit. junit.framework.AssertionFailedError: Forked Java VM exited abnormally. Please n ote the time in the report does not reflect the time until the VM exit. [chipotle:solr/build/test-results] mattmann% > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, > SOLR-1568.Mattmann.031010.patch.txt, SOLR-1568.patch, SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch More progress. Don't think it even compiles, but putting it up for others to start to look at and for me to get it off of my hard drive. Just going down the FieldType route. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, SOLR-1568.patch, > SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Attachment: SOLR-1568.patch A totally NON WORKING patch. The only thing really defined is the interface, per earlier discussions. I doubt it even compiles. I'm putting it up here for something to talk about eventually. I'd like to achieve at least 2 things: 1. Good defaults for the filters based on the FieldType 2. Pluggable implementations for the filters based on the FieldType. I've seen enough of these now that just hardcoding bounding box to the PointType is not sufficient. I think we need a bit looser coupling. I have that now as an abstract class called SpatialFilterable (will rename to SpatialFilter) which my plan is to have the QParserPlugin load up from the Solr Config. This way, if people want to implement there own, they can As I said, this totally NON WORKING. > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java, SOLR-1568.patch > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (SOLR-1568) Implement Spatial Filter
[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grant Ingersoll updated SOLR-1568: -- Description: Given an index with spatial information (either as a geohash, SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be able to pass in a filter query that takes in the field name, lat, lon and distance and produces an appropriate Filter (i.e. one that is aware of the underlying field type for use by Solr. The interface _could_ look like: {code} &fq={!sfilt dist=20}location:49.32,-79.0 {code} or it could be: {code} &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} {code} or: {code} &fq={!sfilt p=49.32,-79.0 f=location dist=20} {code} or: {code} &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} {code} was:Given an index with cartesian tiers, we should be able to pass in a filter query that takes in the field name, lat, lon and radius and produces an appropriate Filter for use by Solr. Note, contrib/spatial has such a filter, so it may just be that we need to hook in a QParserPlugin to handle it. Summary: Implement Spatial Filter (was: Implement Cartesian Tier Filter) > Implement Spatial Filter > > > Key: SOLR-1568 > URL: https://issues.apache.org/jira/browse/SOLR-1568 > Project: Solr > Issue Type: New Feature >Reporter: Grant Ingersoll >Assignee: Grant Ingersoll >Priority: Minor > Fix For: 1.5 > > Attachments: CartesianTierQParserPlugin.java > > > Given an index with spatial information (either as a geohash, > SpatialTileField (see SOLR-1586) or just two lat/lon pairs), we should be > able to pass in a filter query that takes in the field name, lat, lon and > distance and produces an appropriate Filter (i.e. one that is aware of the > underlying field type for use by Solr. > The interface _could_ look like: > {code} > &fq={!sfilt dist=20}location:49.32,-79.0 > {code} > or it could be: > {code} > &fq={!sfilt lat=49.32 lat=-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt p=49.32,-79.0 f=location dist=20} > {code} > or: > {code} > &fq={!sfilt lat=49.32,-79.0 fl=lat,lon dist=20} > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.