[ https://issues.apache.org/jira/browse/LUCENE-6450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14539533#comment-14539533 ]
Karl Wright commented on LUCENE-6450: ------------------------------------- Thinking about this further, I think that the simplicity of the GeoPointField solution is based on two things: (1) A good binary packing of a geohash value of a fixed depth (2) The ability to reconstruct the lat/lon from the geohash value directly For a Geo3d equivalent, nobody to date has come up with a decent (x,y,z) geohash with the right locality properties. I'm not certain how important those locality properties actually *are* for GeoPointField, though. If they are important, then effectively we'd need to pack the *same* lat/lon based geohash value that GeoPointField uses, but have a lightning fast way of converting it to (x,y,z). A lookup table would suffice but would be huge at 9mm resolution. :-) Adjusting the resolution would be a potential solution. If locality is *not* needed, then really a "geohash" would be any workable fixed-resolution binary encoding of the (x,y,z) values of any given lat/lon. > Add simple encoded GeoPointField type to core > --------------------------------------------- > > Key: LUCENE-6450 > URL: https://issues.apache.org/jira/browse/LUCENE-6450 > Project: Lucene - Core > Issue Type: New Feature > Affects Versions: Trunk, 5.x > Reporter: Nicholas Knize > Priority: Minor > Attachments: LUCENE-6450-5x.patch, LUCENE-6450-TRUNK.patch, > LUCENE-6450.patch, LUCENE-6450.patch, LUCENE-6450.patch, LUCENE-6450.patch > > > At the moment all spatial capabilities, including basic point based indexing > and querying, require the lucene-spatial module. The spatial module, designed > to handle all things geo, requires dependency overhead (s4j, jts) to provide > spatial rigor for even the most simplistic spatial search use-cases (e.g., > lat/lon bounding box, point in poly, distance search). This feature trims the > overhead by adding a new GeoPointField type to core along with > GeoBoundingBoxQuery and GeoPolygonQuery classes to the .search package. This > field is intended as a straightforward lightweight type for the most basic > geo point use-cases without the overhead. > The field uses simple bit twiddling operations (currently morton hashing) to > encode lat/lon into a single long term. The queries leverage simple > multi-phase filtering that starts by leveraging NumericRangeQuery to reduce > candidate terms deferring the more expensive mathematics to the smaller > candidate sets. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org