[7.x] [Discover] Use fields API to retrieve fields (#83891)#88493
[7.x] [Discover] Use fields API to retrieve fields (#83891)#88493majagrubic merged 4 commits intoelastic:7.xfrom
Conversation
* Add search source to example plugin. * Add uiSetting for fields API. * Update SearchSource to support fields API. * [PoC] reading from the fields API in Discover * Add N fields as a default column * Make fields column non-removeable * Do not add 'fields' to state * Remove fields from app state and read from source when needed * Remove fields column if a new column is added * Add search source to example plugin. * Add uiSetting for fields API. * Update SearchSource to support fields API. * Improve error handling in search examples plugin. * Add unit tests for legacy behavior. * Remove uiSettings feature flag; add fieldsFromSource config. * Rewrite flatten() based on final API design. * Update example app based on final API design. * Update maps app to use legacy fieldsFromSource. * Update Discover to use legacy fieldsFromSource. * Rename source filters to field filters. * Address feedback. * Update generated docs. * Update maps functional test. * Formatting fields column similar to _source * Moving logic for using search API to updating search source * Fix small merge error * Move useSource switch to Discover section of advanced settings * Do not use fields and source at the same time * Remove unmapped fields switch * Add basic support for grouping multifields * Remove output.txt * Fix some merge leftovers * Fix some merge leftovers * Fix merge errors * Fix typescript errors and update nested fields logic * Add a unit test * Fixing field formats * Fix multifield selection logic * Request all fields from source * Fix eslint * Fix default columns when switching between _source and fields * More unit tests * Update API changes * Add unit test for discover field details footer * Remove unused file * Remove fields formatting from index pattern * Remove unnecessary check * Addressing design comments * Fixing fields column display and renaming it to Document * Adding more unit tests * Adding a missing check for useNewFieldsAPI; minor fixes * Fixing typescript error * Remove unnecessary console statement * Add missing prop * Fixing import order * Adding functional test to test fields API * [Functional test] Clean up in after * Fixing context app * Addressing PR comments * Updating failed snapshot * Addressing PR comments * Fixing i18n translations, updating type * Addressing PR comments * Updating a functional test * Add a separate functional test for fields API * Read fields from source in a functional test * Skip buggy test * Use default behavior in functional tests * Fixing remaining failing tests * Fixing date-nanos test * Updating FLS test * Fixing yet another functional test * Skipping non-relevant tests * Fixing more tests * Update stub import in test * Fix import * Fix invalid import Co-authored-by: Luke Elmers <luke.elmers@elastic.co> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> # Conflicts: # x-pack/test/functional/apps/security/doc_level_security_roles.js # x-pack/test/functional/apps/security/field_level_security.js
|
@elasticmachine merge upstream |
💚 Build SucceededMetrics [docs]Module Count
Async chunks
History
To update your PR or re-run it, just comment with: |
| await kibanaServer.uiSettings.replace({ defaultIndex: 'testlargestring' }); | ||
| await kibanaServer.uiSettings.replace({ | ||
| defaultIndex: 'testlargestring', | ||
| 'discover:searchFieldsFromSource': false, |
There was a problem hiding this comment.
Think it would be cleaner not to enable the discover:searchFieldsFromSource for this single functional, since this is 'experimental'
There was a problem hiding this comment.
I had already changed the test to pass with the fields API 😂 This was an easier fix. But can revert it to the old behavior
| defaultIndex: 'logstash-*', | ||
| 'doc_table:legacy': false, | ||
| 'discover:searchFieldsFromSource': false, | ||
| }; |
There was a problem hiding this comment.
here I think setting searchFieldsFromSource to false is fine, since it's a test for a flagged feature
| '/app/discover?_t=1453775307251#' + | ||
| '/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time' + | ||
| ":(from:'2015-09-19T06:31:44.000Z',to:'2015-09" + | ||
| "-23T18:31:44.000Z'))&_a=(columns:!(),filters:!(),index:'logstash-" + |
There was a problem hiding this comment.
So a shared link now contains _source? I think it would be better not to change this expectURL, but to revert the change that leads to the adding of _source to the shared link
There was a problem hiding this comment.
It contains _source right now. When switching to fields API, it won't include _source, as _source column doesn't exist anymore. Not sure if there's a proper fix for that. As for the test - I changed that test in master, this is basically reverting it to the current behavior.
kertal
left a comment
There was a problem hiding this comment.
Fine with going forward here, my remarks covered minor stuff, think it's better to merge to prevent back port conflicts.
Backports the following commits to 7.x: