[ 
https://issues.apache.org/jira/browse/LUCENE-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795083#action_12795083
 ] 

Chris Male commented on LUCENE-2152:
------------------------------------

One part of this implementation that I'm still wrestling with is the storage of 
the computed distances.  Currently each docId computed-distance pair is stored 
in a Map which itself is stored in the DistanceFilter.  This can then be 
retrieved through the SpatialFilter.  This restricts the storage of the 
distances, which could be alot of values, to that chosen by the DistanceFilter. 
 If someone preferred not to store the distances at all, for memory sake maybe, 
then they have no control over this.  I'm thinking that it might be useful to 
have some sort of DistanceCollector abstraction through which users of the 
Filter can have greater control over how the distances are stored, if they are 
at all.  

Any thoughts on this idea?

> Abstract Spatial distance filtering process and supported field formats
> -----------------------------------------------------------------------
>
>                 Key: LUCENE-2152
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2152
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/spatial
>    Affects Versions: 3.1
>            Reporter: Chris Male
>         Attachments: LUCENE-2152.patch, LUCENE-2152.patch, LUCENE-2152.patch
>
>
> Currently the second stage of the filtering process in the spatial contrib 
> involves calculating the exact distance for the remaining documents, and 
> filtering out those that fall out of the search radius.  Currently this is 
> done through the 2 impls of DistanceFilter, LatLngDistanceFilter and 
> GeoHashDistanceFilter.  The main difference between these 2 impls is the 
> format of data they support, the former supporting lat/lngs being stored in 2 
> distinct fields, while the latter supports geohashed lat/lngs through the 
> GeoHashUtils.  This difference should be abstracted out so that the distance 
> filtering process is data format agnostic.
> The second issue is that the distance filtering algorithm can be considerably 
> optimized by using multiple-threads.  Therefore it makes sense to have an 
> abstraction of DistanceFilter which has different implementations, one being 
> a multi-threaded implementation and the other being a blank implementation 
> that can be used when no distance filtering is to occur.

-- 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to