lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicholas Knize (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LUCENE-6481) Improve GeoPointField type to only visit high precision boundary terms
Date Thu, 14 May 2015 02:31:59 GMT

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

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

The test had the lat and lon ordering incorrect for both GeoPointFieldType and the GeoPointInBBoxQuery.
I've attached a new patch with the correction.  

testRandomTiny passes but there is one failure in testRandom with the following:
{noformat}
ant test -Dtestcase=TestGeoPointQuery -Dtestmethod=testRandom -Dtests.seed=F1E43F53709BFF82
-Dtests.verbose=true
{noformat}

{noformat}
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeoPointQuery -Dtests.method=testRandom
-Dtests.seed=F1E43F53709BFF82 -Dtests.slow=true -Dtests.locale=en_US -Dtests.timezone=Africa/Lome
-Dtests.asserts=true -Dtests.file.encoding=UTF-8
   [junit4] FAILURE 1.54s | TestGeoPointQuery.testRandom <<<
   [junit4]    > Throwable #1: java.lang.AssertionError: id=632 docID=613 lat=46.19240875459866
lon=143.92476891121902 expected true but got: false deleted?=false
   [junit4]    > 	at __randomizedtesting.SeedInfo.seed([F1E43F53709BFF82:83A81A5CC1FB49F1]:0)
   [junit4]    > 	at org.apache.lucene.search.TestGeoPointQuery.verify(TestGeoPointQuery.java:302)
   [junit4]    > 	at org.apache.lucene.search.TestGeoPointQuery.doTestRandom(TestGeoPointQuery.java:204)
   [junit4]    > 	at org.apache.lucene.search.TestGeoPointQuery.testRandom(TestGeoPointQuery.java:130)
   [junit4]    > 	at java.lang.Thread.run(Thread.java:745)
{noformat}

This should be enough to debug the issue. I expect to have a new patch sometime tomorrow or
before weeks end.

> Improve GeoPointField type to only visit high precision boundary terms 
> -----------------------------------------------------------------------
>
>                 Key: LUCENE-6481
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6481
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Nicholas Knize
>         Attachments: LUCENE-6481.patch, LUCENE-6481.patch, LUCENE-6481_WIP.patch
>
>
> Current GeoPointField [LUCENE-6450 | https://issues.apache.org/jira/browse/LUCENE-6450]
computes a set of ranges along the space-filling curve that represent a provided bounding
box.  This determines which terms to visit in the terms dictionary and which to skip. This
is suboptimal for large bounding boxes as we may end up visiting all terms (which could be
quite large). 
> This incremental improvement is to improve GeoPointField to only visit high precision
terms in boundary ranges and use the postings list for ranges that are completely within the
target bounding box.
> A separate improvement is to switch over to auto-prefix and build an Automaton representing
the bounding box.  That can be tracked in a separate issue.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message