-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Painless script support for Cartesian Points #90182
Copy link
Copy link
Closed
Labels
:Analytics/GeoIndexing, search aggregations of geo points and shapesIndexing, search aggregations of geo points and shapes:Core/Infra/ScriptingScripting abstractions, Painless, and MustacheScripting abstractions, Painless, and Mustache>enhancementTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)Team:Core/InfraMeta label for core/infra teamMeta label for core/infra team
Metadata
Metadata
Assignees
Labels
:Analytics/GeoIndexing, search aggregations of geo points and shapesIndexing, search aggregations of geo points and shapes:Core/Infra/ScriptingScripting abstractions, Painless, and MustacheScripting abstractions, Painless, and Mustache>enhancementTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)Team:Core/InfraMeta label for core/infra teamMeta label for core/infra team
Type
Fields
Give feedbackNo fields configured for issues without a type.
Description
Early draft versions of the work to Refactor GeoPoint and GeoShape with generics added some initial support for painless scripting. This was done by copying
GeoPointFieldScripttoCartesianPointFieldScriptand then extracting common code intoAbstractPointFieldScript. This work was dropped because it conflicted with other ongoing work onGeoPointFieldScript, as well as being seen as out of scope for the initial effort to develop aggregation support for Cartesian data.Also, we found that the existing painless interface did not really need to differentiate between Geo and Cartesian, as it only considered points as being composed of two doubles. In theory it would be possible to change it to support both. However, that breaks backwards compatibility because the painless API explicitly names the full classes, including package and class names, and these are Geo specific. The ensuing discussion between the Geo and Painless sub-teams was captured in the document at https://docs.google.com/document/d/1IjSl8DhNFz75K1k4boNKXhTPWcU4up6rSX21AAucBTI/edit#heading=h.jp9wz279wlla
The proposed conclusion was to consider: