[ 
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: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to