[
https://issues.apache.org/jira/browse/LUCENE-10654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Knize updated LUCENE-10654:
--------------------------------
Description:
{{XYDocValuesField}} provides doc value support for {{XYPoint}}.
{{LatLonDocValuesField}} provides docvalue support for {{LatLonPoint}}.
However, neither {{LatLonShape}} nor {{XYShape}} currently have a docvalue
format.
This lack of doc value support for shapes means facets, aggregations, and
IndexOrDocValues queries are currently not possible for Shape field types. This
gap needs be closed in lucene.
To support IndexOrDocValues queries along with various geometry aggregations
and facets, the ability to compute the spatial relation with the doc value is
needed. This is straightforward with {{XYPoint}} and {{LatLonPoint}} since the
doc value encoding is nothing more than a simple 2D integer encoding of the x,y
and lat,lon dimensional components. Accomplishing the same with a naive integer
encoded binary representation for N-vertex shapes would be costly.
{{ComponentTree}} already provides an efficient in memory structure for quickly
computing spatial relations over Shape types based on a binary tree of
tessellated triangles provided by the {{Tessellator}}. Furthermore, this
tessellation is already computed at index time. If we create an on-disk
representation of {{ComponentTree}} 's binary tree of tessellated triangles and
use this as the doc value {{binaryValue}} format we will be able to efficiently
compute spatial relations with this binary representation and achieve the same
facet/aggregation result over shapes as we can with points today (e.g., grid
facets, centroid, area, etc).
was:
{{XYDocValuesField}} provides doc value support for {{XYPoint}}.
{{LatLonDocValuesField}} provides docvalue support for {{LatLonPoint}}.
However, neither {{LatLonShape}} nor {{XYShape}} currently have a docvalue
format.
This lack of doc value support for shapes means facets, aggregations, and
IndexOrDocValues queries are currently not possible for Shape field types. This
gap needs be closed in lucene.
To support IndexOrDocValues queries along with various geometry aggregations
and facets, the ability to compute the spatial relation with the doc value is
needed. This is straightforward with {{XYPoint}} and {{LatLonPoint}} since the
doc value encoding is nothing more than a simple 2D integer encoding of the x,y
and lat,lon dimensional components. Accomplishing the same with a naive integer
encoded binary representation for N-vertex shapes would be costly.
{{ComponentTree}} already provides an efficient in memory structure for quickly
computing spatial relations over Shape types based on a binary tree of
tessellated triangles provided by the {{Tessellator}}. Furthermore, this
tessellation is already computed at index time. If we create an on-disk
representation of {{ComponentTree}}s binary tree of tessellated triangles and
use this as the doc value {{binaryValue}} format we will be able to efficiently
compute spatial relations with this binary representation and achieve the same
facet/aggregation result over shapes as we can with points today (e.g., grid
facets, centroid, area, etc).
> New companion doc value format for LatLonShape and XYShape field types
> ----------------------------------------------------------------------
>
> Key: LUCENE-10654
> URL: https://issues.apache.org/jira/browse/LUCENE-10654
> Project: Lucene - Core
> Issue Type: New Feature
> Reporter: Nick Knize
> Priority: Major
>
> {{XYDocValuesField}} provides doc value support for {{XYPoint}}.
> {{LatLonDocValuesField}} provides docvalue support for {{LatLonPoint}}.
> However, neither {{LatLonShape}} nor {{XYShape}} currently have a docvalue
> format.
> This lack of doc value support for shapes means facets, aggregations, and
> IndexOrDocValues queries are currently not possible for Shape field types.
> This gap needs be closed in lucene.
> To support IndexOrDocValues queries along with various geometry aggregations
> and facets, the ability to compute the spatial relation with the doc value is
> needed. This is straightforward with {{XYPoint}} and {{LatLonPoint}} since
> the doc value encoding is nothing more than a simple 2D integer encoding of
> the x,y and lat,lon dimensional components. Accomplishing the same with a
> naive integer encoded binary representation for N-vertex shapes would be
> costly.
> {{ComponentTree}} already provides an efficient in memory structure for
> quickly computing spatial relations over Shape types based on a binary tree
> of tessellated triangles provided by the {{Tessellator}}. Furthermore, this
> tessellation is already computed at index time. If we create an on-disk
> representation of {{ComponentTree}} 's binary tree of tessellated triangles
> and use this as the doc value {{binaryValue}} format we will be able to
> efficiently compute spatial relations with this binary representation and
> achieve the same facet/aggregation result over shapes as we can with points
> today (e.g., grid facets, centroid, area, etc).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]