[
https://issues.apache.org/jira/browse/LUCENE-7212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15239219#comment-15239219
]
Karl Wright edited comment on LUCENE-7212 at 4/13/16 1:24 PM:
--------------------------------------------------------------
bq. Ideally we wouldn't need to expose things like GeoDistance and
DistanceStyle to the user? Can these somehow be under-the-hood implementation
details?
The classes that correspond to LatLonPointDistanceComparator and
LatLonPointSortField will need to have a GeoDistance and DistanceStyle passed
to them.
The newDistanceSort method would need to be equivalent to the LatLonPoint API,
so it would construct a GeoCircle that occupies the whole world with the
specified center, and use a standard arc distance DistanceStyle. But the
problem is that such a query is completely unconstrained without the ability to
go from shape/distance to XYZSolid bound, so it would not perform reasonably in
that form. If you introduced an upper bound to the circle radius as an
additional argument, then it would work fine without additional geo3d code.
I would in general think that all "newXXXQuery" methods would have a
corresponding "newXXXSort" method, if the underlying shape implements
GeoDistance. So there would be "newDistanceSort" and "newPathSort", but not
"newBoxSort" or "newPolygonSort". The arguments would have to correspond
exactly, though, to "newXXXQuery", including distance bounds, for the geo3d API.
was (Author: [email protected]):
bq. Ideally we wouldn't need to expose things like GeoDistance and
DistanceStyle to the user? Can these somehow be under-the-hood implementation
details?
The classes that correspond to {code}LatLonPointDistanceComparator{code} and
{code}LatLonPointSortField{code} will need to have a {code}GeoDistance{code}
and {code}DistanceStyle{code} passed to them.
The {code}newDistanceSort{code} method would need to be equivalent to the
LatLonPoint API, so it would construct a GeoCircle that occupies the whole
world with the specified center, and use a standard arc distance DistanceStyle.
But the problem is that such a query is completely unconstrained without the
ability to go from shape/distance to XYZSolid bound, so it would not perform
reasonably in that form. If you introduced an upper bound to the circle radius
as an additional argument, then it would work fine without additional geo3d
code.
I would in general think that all "newXXXQuery" methods would have a
corresponding "newXXXSort" method, if the underlying shape implements
GeoDistance. So there would be "newDistanceSort" and "newPathSort", but not
"newBoxSort" or "newPolygonSort". The arguments would have to correspond
exactly, though, to "newXXXQuery", including distance bounds, for the geo3d API.
> Add Geo3DPoint equivalents of LatLonPointDistanceComparator and
> LatLonPointSortField
> ------------------------------------------------------------------------------------
>
> Key: LUCENE-7212
> URL: https://issues.apache.org/jira/browse/LUCENE-7212
> Project: Lucene - Core
> Issue Type: Improvement
> Affects Versions: master
> Reporter: Karl Wright
> Assignee: Karl Wright
>
> Geo3D has a number of distance measurements and a generic way of computing
> interior distance. It would be great to take advantage of that for queries
> that return results ordered by interior distance.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]