Nick Knize created LUCENE-10654:
-----------------------------------

             Summary: 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


{{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