-
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
[ML] DF Analytics results: object fields missing in table #65768
Comments
Pinging @elastic/ml-ui (:ml) |
FYI: Transforms now use Kibana index patterns to get the fields for the source index preview. Moving an item here from the previous The advantage of a raw fields caps approach would be that users wouldn't need to create Kibana index patterns and the UI would work out of the box for jobs created using APIs. However, a drawback is that to view the source or destination indices in Discover they would still need to create index patterns. At the moment we also require an index pattern for the source index to show up in the source selection dropdown. To also support saved searches in the upcoming wizard (similar to the workflow for anomaly detection and transform) an index pattern is also required. Taking all of this into account and a possible future update of Kibana index patterns which wouldn't require their creation beforehand, we should make it a requirement to have index patterns for both source and destination indices. Also, results pages using I suggest before we move on with any coding we should probably do another catch-up/discussion so we're all on the same page! |
The Kibana team describes the approach using the This issue is about both the structured approach missing (no column for The destructured approach was fixed recently in #80302. There is an ongoing discussion, also as part of Discover moving to |
Kibana latest master (7.8)
Currently the
newJobCapsService
(which uses the field caps api) is used in the results views to fetch the document fields that make up the result table columns. This service is specialized for the job wizards and omits fields with object type.The api returns the fields in an object in an array of objects like:
products: [ { price: 124, … }, { price: 444, …} ]
as
products.price
with a type referring to the type in the object ( so float or integer in this case)The results table doesn’t recognize it as an array of objects so it tries to follow the path of
products.price
and getsundefined
- this results in empty columns in the table.The existing field-caps endpoint is tailored towards what is needed for the wizards.
The conclusion for a solution after getting thoughts from @walterra is to use a separate call to the plain ES field caps API. The call to field caps for the table can be much simpler - we just need a list of available fields and their type (along with no filter for 'allowed types' to ensure we get object types as well) as the table code itself does the rest based on that information.
This will allow object types to be shown - though we will still have the problem of blank columns when a path to an array of objects is provided as a field (e.g. products.price).
The text was updated successfully, but these errors were encountered: