[ https://issues.apache.org/jira/browse/SOLR-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yonik Seeley updated SOLR-1568: ------------------------------- Attachment: SOLR-1568.patch Here's a refresh (still uncompleted stuff in there). - adds a bbox query for "bounding box" (or basically, fast but may include points outside the actual distance/shape) - changes sfilt to filter out all points outside of the distance (for latlon type) - I think this matches users expectations better. So when you ask for a box, you get a range query on the underlying tri-range fields of course. But when you ask for a filter (i.e. distance must be calculated to tell if it truly matches) then I actually use the value sources and check against the box, since those values will be needed sometimes to calculate the radius anyway. Not sure what I think about that... it will be faster if the main query doesn't select many documents (I plan on executing this in parallel with the query), but slower if it does. > 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: 3.1, 4.0 > > 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, SOLR-1568.patch, 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. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org