[
https://issues.apache.org/jira/browse/SOLR-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923925#action_12923925
]
David Smiley commented on SOLR-2155:
------------------------------------
Lance, did you look at my patch or just skim the issue description? There
seems to be a big disconnect in what I'm doing and what you think I'm doing.
First of all, I'm re-using the existing geohash field support in Solr which
indexes the lat-lons as actual geohashes (i.e. the character representation),
not in a bitwise fashion. But that doesn't really matter -- it would be a
worthwhile optimization to index them in that fashion as it would be more
compact.
Secondly, as stated in the issue description, this filter finds _multiple_
geohash grid squares to cover the queried area. It doesn't matter where
boundaries are, 0, 90, 180, Unalaska, North pole, whatever -- it doesn't
matter. A search over the London or Greenwhich areas will yield grid squares
that have no prefixes in common, but that doesn't matter; +each grid square is
subsequently searched independently against the user's query+.
Thirdly, the *only* distance measurements in this patch are against _resolved_
latitude-longitudes points (e.g. decoded geohashes) in the index against the
user's query *if* that query is point-radius (vs lat-lon bounding box which
need not calculate distance). This uses haversine bu I'm not using geohashes
for distance calculation.
If you still insist there is a shortcoming of my implementation, then I
challenge you to add a unit test proving that my implementation here doesn't
work. The existing tests I used in unit
> Geospatial search using geohash prefixes
> ----------------------------------------
>
> Key: SOLR-2155
> URL: https://issues.apache.org/jira/browse/SOLR-2155
> Project: Solr
> Issue Type: Improvement
> Reporter: David Smiley
> Attachments: GeoHashPrefixFilter.patch
>
>
> There currently isn't a solution in Solr for doing geospatial filtering on
> documents that have a variable number of points. This scenario occurs when
> there is location extraction (i.e. via a "gazateer") occurring on free text.
> None, one, or many geospatial locations might be extracted from any given
> document and users want to limit their search results to those occurring in a
> user-specified area.
> I've implemented this by furthering the GeoHash based work in Lucene/Solr
> with a geohash prefix based filter. A geohash refers to a lat-lon box on the
> earth. Each successive character added further subdivides the box into a 4x8
> (or 8x4 depending on the even/odd length of the geohash) grid. The first
> step in this scheme is figuring out which geohash grid squares cover the
> user's search query. I've added various extra methods to GeoHashUtils (and
> added tests) to assist in this purpose. The next step is an actual Lucene
> Filter, GeoHashPrefixFilter, that uses these geohash prefixes in
> TermsEnum.seek() to skip to relevant grid squares in the index. Once a
> matching geohash grid is found, the points therein are compared against the
> user's query to see if it matches. I created an abstraction GeoShape
> extended by subclasses named PointDistance... and CartesianBox.... to support
> different queried shapes so that the filter need not care about these details.
> This work was presented at LuceneRevolution in Boston on October 8th.
--
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: [email protected]
For additional commands, e-mail: [email protected]