[ 
https://issues.apache.org/jira/browse/LUCENE-6450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6450:
-----------------------------------
    Attachment: LUCENE-6450.patch

I've decided to go ahead and just add a minor updated patch for commit 
consideration and save performance improvements for new issues like 
[LUCENE-6481 | https://issues.apache.org/jira/browse/LUCENE-6481].  This 
enables other patches, like the BKD-tree [LUCENE-6477 | 
https://issues.apache.org/jira/browse/LUCENE-6477] to use the helper classes 
provided by this patch, and other contributors to iterate improvements on this 
new field type. 

Patch includes the following updates:

* Changed GeoPointIn*Query to subclass MultiTermQuery instead of 
NumericRangeQuery leaving NRQ unchanged
* Removed unused DocValues from GeoPointField.FieldType (reduces sized of index 
for now)
* Updated javadocs to reflect issues with large queries.
* 2 space indent formatting

Benchmarks are roughly the same, with a moderately reduced index size.

*GeoPointField*

Index Time:  160.545 sec
Index Size: 1.3G
Mean Query Time:  0.104 sec

> 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, 
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to