-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Maps] Use ES mvt #114553
[Maps] Use ES mvt #114553
Conversation
…o handling undefined _index. MVT now provides _index
@elasticmachine merge upstream |
Pinging @elastic/kibana-gis (Team:Geo) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
scope exceeds original goals. I'm +1 on this change. thx!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, code review and tested in chrome. This is such a huge improvement. Elasticsearch MVTs have such an amazing performance boost.
Anything that I am still unhappy with is tracked in #116150 and can be fixed at a later time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested with Chrome and Firefox and I haven't got a single glitch. I will open a separate issue for removing labels in super-fine
grid since they don't make any sense with such small squares but other than that, I've tested medium/large datasets with point, lines, and polygon geometry types and they render fast, panning now around is a great experience. Beautiful job everyone!
💛 Build succeeded, but was flaky
Test Failures
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
Unknown metric groupsAPI count
References to deprecated APIs
History
To update your PR or re-run it, just comment with: |
Friendly reminder: Looks like this PR hasn’t been backported yet. |
Replace Kibana's mvt generation with Elasticsearch ES-mvt generation
Vector tile drawing of Elasticsearch data is going GA in Kibana Maps
This PR removes the Kibana implementation of mapbox vector tiles (
" mvt"
) (https://docs.mapbox.com/vector-tiles/reference/), in favor of the mvt-implementation in Elasticsearch( cf. https://www.elastic.co/guide/en/elasticsearch/reference/current/search-vector-tile-api.html)Since 7.11, the Kibana implementation of mvt was a beta-feature, and being used for:
With this change to using Elasticsearch, both these capabilities are now going GA.
Increase geo-data volume on screen
This change significantly enhances the amount of geo-data that can be shown on screen.
Displaying more individual documents
Each tile contains up to the
max_result_window
of features. This is a per-index setting https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html. A single view contain will conist of 4-9 tiles.Displaying clusters at high resolution
The super-fine resolutions displays up to 128x128 cells per tile, creating high-res cluster maps
Other changes
The client-side data-mapping is no longer possible for ES document layers
This switch is always on by default for scaling with vector tiles. This means the domain-range (ie. min & max) of a value is determined by querying the min-max of the underlying data in Elasticsearch, and not by only getting the min-max of the features on screen.
top-term aggregation is disabled
Top-terms agg is not supported by the vector tile search API of Elasticsearch.
too many features outline
This PR introduces a orange dotted outline of the bounding-box of the features int he tile. This is only used if the number of features exceeds the maximum allowed number of features per tile.
e.g.: zoomed out, cannot show all features at this scale level. Users would need to filter or zoom-in further to see all data.
Field formatters are not applied on map labels
When using vector tiles, field formatters of the data view are not applied for labeling on the map.