lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] [Updated] (LUCENE-6450) Add simple encoded GeoPointField type to core
Date Fri, 15 May 2015 20:23:00 GMT


Michael McCandless updated LUCENE-6450:
    Attachment: LUCENE-6450.patch

New patch, starting from [~nknize]'s last patch, adding a randomized test case and a few nocommits
for small things to fix.

The randomized test sometimes fails, I think because of boundary/quantization issues, e.g.:

   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeoPointQuery -Dtests.method=testRandomBig
-Dtests.seed=0 -Dtests.nightly=true -Dtests.locale=zh_SG -Dtests.timezone=America/Grenada
-Dtests.asserts=true -Dtests.file.encoding=US-ASCII
   [junit4] FAILURE 37.6s | TestGeoPointQuery.testRandomBig <<<
   [junit4]    > Throwable #1: java.lang.AssertionError: id=349542 docID=338871 lat=0.6280052214528095
lon=0.73151953485715 (bbox: lat=0.26752169831663697 TO 0.7703463929115464 lon=0.7315195258648497
TO 0.9378627734683974) expected true but got: false deleted?=false
   [junit4]    > 	at __randomizedtesting.SeedInfo.seed([0:87577D8F91597C80]:0)
   [junit4]    > 	at
   [junit4]    > 	at
   [junit4]    > 	at
   [junit4]    > 	at

I'm using mortonHash/Unhash to try to "handle" the quantization but I must have messed something

I also limited the testing to a small lat/lon rect else test takes too long.

> Add simple encoded GeoPointField type to core
> ---------------------------------------------
>                 Key: LUCENE-6450
>                 URL:
>             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, 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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message