Open dtrieschnigg opened 3 years ago
A workaround is to use a synonym
rather than a synonym_graph
filter.
Pinging @elastic/es-search (Team:Search)
Any update on this issue?
I am also facing this issue, I was able to reproduce the issue with the master branch code, and its impact is even more, this issue kills the ES process in my local.
This is a long standing problem in lucene itself, that the synonym graph filter can't accept graphs as inputs: https://issues.apache.org/jira/browse/LUCENE-9966. But we shouldn't be throwing errors to the user here, and in particular we shouldn't be allowing processes to die.
There are a few things we can do to fix this, I think. Firstly we should be able to detect in ES when you have an analysis chain that pipes a graph into a filter that doesn't accept one, and throw an error (or at least emit a warning). Secondly I think we can improve our synonym filter definitions to allow grouping of inputs to make it easier to categorise synonyms without having to specify multiple filters.
@romseygeek , Thanks for your inputs, Iet me work on the first part of it, what would you suggest, throwing an exception and what exception should be throw here? IllegalArgumentException
?
@romseygeek please let me know your suggestions, so that I can fix this issue?
Pinging @elastic/es-search-relevance (Team:Search Relevance)
Elasticsearch version (
bin/elasticsearch --version
): 7.9.3 (lucene: 8.6.2)Description of the problem including expected versus actual behavior:
When an analyzer uses two
synonym_graph
filters after each other (my use case: the first filter does decompounding and the second filter expands synonyms. For instance "cellphone" is decompounded into "cell" and "phone", and "phone" is expanded with "telephone"), this results in anarray_index_out_of_bounds_exception
when searching for a compoundSteps to reproduce:
results in: