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

Simplify AnalysisService #19828

Closed
nik9000 opened this issue Aug 5, 2016 · 0 comments · Fixed by #20627
Closed

Simplify AnalysisService #19828

nik9000 opened this issue Aug 5, 2016 · 0 comments · Fixed by #20627
Assignees
Labels
:Core/Infra/Core Core issues without another label >enhancement

Comments

@nik9000
Copy link
Member

nik9000 commented Aug 5, 2016

We want to simplify AnlaysisService so we keep fewer objects on heap per index. This means removing the tokenizer, charFilter, and tokenFilter methods and their support from the AnalysisService. Those methods are only used to build analyzers, both during analysis service startup and during the _analyze API. I've opened #19827 to stop using those methods in the _analyze API. After that is done, we can work on this to remove the methods entirely.

@nik9000 nik9000 added >enhancement :Core/Infra/Core Core issues without another label v5.0.0-beta1 labels Aug 5, 2016
johtani added a commit to johtani/elasticsearch that referenced this issue Aug 29, 2016
Change implementation but not fix some error in UT

Closes elastic#19828
@s1monw s1monw self-assigned this Sep 21, 2016
s1monw added a commit to s1monw/elasticsearch that referenced this issue Sep 22, 2016
…ping

Today we hold on to all possible tokenizers, tokenfilters etc. when we create
an index service on a node. This was mainly done to allow the `_analyze` API to
directly access all these primitve. We fixed this in elastic#19827 and can now get rid of
the AnalysisService entirely and replace it with a simple map like class. This
ensures we don't create a gazillion long living objects that are entirely useless since
they are never used in most of the indices. Also those objects might consume a considerable
amount of memory since they might load stopwords or synonyms etc.

Closes elastic#19828
s1monw added a commit that referenced this issue Sep 23, 2016
…ping (#20627)

Today we hold on to all possible tokenizers, tokenfilters etc. when we create
an index service on a node. This was mainly done to allow the `_analyze` API to
directly access all these primitive. We fixed this in #19827 and can now get rid of
the AnalysisService entirely and replace it with a simple map like class. This
ensures we don't create a gazillion long living objects that are entirely useless since
they are never used in most of the indices. Also those objects might consume a considerable
amount of memory since they might load stopwords or synonyms etc.

Closes #19828
s1monw added a commit that referenced this issue Sep 23, 2016
…ping (#20627)

Today we hold on to all possible tokenizers, tokenfilters etc. when we create
an index service on a node. This was mainly done to allow the `_analyze` API to
directly access all these primitive. We fixed this in #19827 and can now get rid of
the AnalysisService entirely and replace it with a simple map like class. This
ensures we don't create a gazillion long living objects that are entirely useless since
they are never used in most of the indices. Also those objects might consume a considerable
amount of memory since they might load stopwords or synonyms etc.

Closes #19828
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label >enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants