-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
[ES|QL] generate function docs and definitions for agg functions #107219
Comments
Pinging @elastic/es-analytical-engine (Team:Analytics) |
…79584) ## Summary Resolve #179634 This PR introduces a script to gather metadata from Elasticsearch and build the function definitions for Kibana's client-side validation. To run the script: `cd packages/kbn-esql-validation-autocomplete && yarn makedefs path/to/elasticsearch/repo` ## Current limitations ### Things we can't (yet) gather from ES #### Things that are currently being filled in on the Kibana side but would be missing if we had to rely completely on ES - function aliases (e.g. `to_str`) - operators and aggs (issues for Elasticsearch elastic/elasticsearch#107219 and elastic/elasticsearch#107220) - Kibana AST parameter settings - `constantOnly` — whether a parameter can be a non-literal or not (`percentile`, `auto_bucket`) - `constantOptions`/`constantSuggestions` — specific information about which constants are accepted or suggested for particular parameters. - `supportsWildcard` — whether a parameter can contain `*` (only `count` at the moment) - `noNestingFunctions` — whether a parameter can contain nested functions (used for all agg functions) - Kibana date constant types - `chrono_literal` - `time_literal` ### Other considerations - Asciidoc links need to be scrubbed (e.g. `Function {wikipedia}/foo/bar[arccosine] returns blah blah`) - As of elastic/elasticsearch#106454 some descriptions reference outdated parameter names and some parameter names are questionable: <img width="600" alt="Screenshot 2024-03-28 at 1 07 16 PM" src="https://github.com/elastic/kibana/assets/315764/3b9ab457-e9fd-4c5f-afb2-23ae769bb44a"> _parameter `n` is now called `number`, but the description still calls it `n`... also, is `number` really the best name for the variable?_ ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
The last person who touched this was @ivancea. Because I asked him to. But I think that means he's probably the right person to officially assign here. I think this is basically shaped like: Phase 1 - Infrastructure (@ivancea )
Phase 2 - Apply all the places(shared)
once this phase is really happening @drewdaemon can start picking up the generated files and integrate them into Kibana's editor Phase 3 - Only semi-related
|
## Summary As ES has rolled out partial support for generating agg function definitions and documentation, they have become mixed into the existing scalar function documentation section. This PR excludes them for now. Once elastic/elasticsearch#107219 is complete, we will unskip them and turn on full automation!
@drewdaemon All aggregations should already have their kibana docs and json generated :blob_dance: |
:elastic-heart: |
Description
With #106782, we will get function definitions for
eval
functions. We'd also like them forstats
functions.The text was updated successfully, but these errors were encountered: