lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <>
Subject [jira] [Commented] (LUCENE-4186) Lucene spatial's "distErrPct" is treated as a fraction, not a percent.
Date Tue, 24 Jul 2012 15:51:36 GMT


David Smiley commented on LUCENE-4186:

I'd like to look at the bigger picture with distance error.  I think there are two things
a user might want to specify:
# What is the maximum distance detail the index should use for its calculations on this field.
 In geospatial contexts, this might be 1 meter.  As applied to geohash prefix tree based Strategies
this would result in using a particular maxLevels (geohash length) for the tree of about 10.
# What is the maximum error distance for a particular shape that I am indexing or querying
by?  It is bounded by the previous statistic.  I might want to specify this in real distance
terms (e.g. 1 meter) or have it be some fraction or percentage tied to the shape's size, which
makes a nice default.

These end up being hints / constraints; a Strategy will very likely use more precision but
should have at least as much precision as is asked for.  Sound good?  If so...

So would SpatialStrategy then have a setMaxDetailDist() and setDefaultDistErrPct() (for index
& query shapes) ?  The problem with setMaxDetailDist is that, as a setter, it's done after
the Strategy's construction; we don't have an init() method.  It could become another constructor
argument, the 3rd:  SpatialStrategy(SpatialContext ctx, String fieldName, maxDetailDist) or
maybe don't worry about it -- add a getMaxDetailDist() that returns the actual maximum detail
distance, and let initialization be up to the specific Strategy. I guess I like that best.
 setDefaultDistErrPct() could be a simple setter with getter.  Supplying 0 implies maximum
detail allowed by maxDetailDist.
> Lucene spatial's "distErrPct" is treated as a fraction, not a percent.
> ----------------------------------------------------------------------
>                 Key: LUCENE-4186
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial
>            Reporter: David Smiley
>            Assignee: David Smiley
>            Priority: Critical
>             Fix For: 4.0
> The distance-error-percent of a query shape in Lucene spatial is, in a nutshell, the
percent of the shape's area that is an error epsilon when considering search detail at its
edges.  The default is 2.5%, for reference.  However, as configured, it is read in as a fraction:
> {code:xml}
>     <fieldType name="location_2d_trie" class="solr.SpatialRecursivePrefixTreeFieldType"
>                distErrPct="0.025" maxDetailDist="0.001" />
> {code}

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


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

View raw message