Spinoff from discussion in solr-user list http://find.searchhub.org/document/8dfce8a277de0f2a
The managed synonyms filter does not behave the same way as the original synonym filter when a list is added. The original synonyms filter with default expand=true produces the following map when parsing a line:
a, b, c
a => a, b, c b => a, b, c c => a, b, c
But the managed filter excludes the original term in the mapping, so an input ["a", "b", "c"] becomes:
a => b, c b => a, c c => a, b
This can also be seen in TestManagedSynonymFilterFactory.java where it is tested explicitly, while the tests for the file based synonymfilter expect an all-way expand including the original term.
This causes a query for "a" to not match documents with the term "a", but only those with term "b" or "c".
The offending line in ManagedSynonymFilterFactory is this
- is related to
SOLR-6878 solr.ManagedSynonymFilterFactory all-to-all synonym switch (aka. expand)