Skip to content
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

Move parent-join and nested in a plugin/module #68298

Open
jimczi opened this issue Feb 1, 2021 · 1 comment
Open

Move parent-join and nested in a plugin/module #68298

jimczi opened this issue Feb 1, 2021 · 1 comment
Labels
>enhancement :Search/Mapping Index mappings, including merging and defining field types Team:Search Meta label for search team

Comments

@jimczi
Copy link
Contributor

jimczi commented Feb 1, 2021

Listing these features as primitives in our mapping can be misleading for users. The norm when using a search engine like ES should be to denorrmalize the data upfront. It's too easy to start with a nested model or a complex parent-join and realize the limitations of the query/aggs later. It is also not sure that the nested model saves a lot these days with all the improvements in Lucene around compressions and sparse values support.

It's also hard to control the scope of these features if they live in core. We have some features where nested "should" be supported but not actually tested because we never thought that it would be used in this context.

I propose that we move the parent-join to an official plugin for now. It can be used in specific contexts with a pre-defined scope but we don't provide it by default. The options that we have in our default deployment should be investigated first. Global solutions on top of ES shouldn't rely on this feature either or require to install the plugin first.

For nested, I understand that it will not be a popular opinion but it would be nice to remove the support from our default distribution too. We can first try to move it out of core, lots of the complexity in our mappings, queries and aggregations come from the support of this feature so it would be nice to isolate it in a module. If it's feasible it will be easier to remove it entirely in a future release or to develop alternatives that don't require to change the entire query/aggs model to work.

@jimczi jimczi added >enhancement :Search/Mapping Index mappings, including merging and defining field types team-discuss labels Feb 1, 2021
@elasticmachine elasticmachine added the Team:Search Meta label for search team label Feb 1, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-search (Team:Search)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>enhancement :Search/Mapping Index mappings, including merging and defining field types Team:Search Meta label for search team
Projects
None yet
Development

No branches or pull requests

2 participants