[jira] [Updated] (SOLR-10264) ManagedSynonymFilterFactory does not parse multi-term synonyms

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

[jira] [Updated] (SOLR-10264) ManagedSynonymFilterFactory does not parse multi-term synonyms

JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/SOLR-10264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jörg Rathlev updated SOLR-10264:
    Attachment: SOLR-10264.patch

Thank you, Christine, that almost-complete test case was very helpful!

I've attached an updated patch with a working test case for multi-term origins.

Compared to Christine's test, I've changed it so that the multi-term origin is in the indexed document, and the single-term synonym in the query, because multi-term origins in the query are problematic for unrelated reasons.

> ManagedSynonymFilterFactory does not parse multi-term synonyms
> --------------------------------------------------------------
>                 Key: SOLR-10264
>                 URL: https://issues.apache.org/jira/browse/SOLR-10264
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: Schema and Analysis
>    Affects Versions: 6.4.2
>            Reporter: Jörg Rathlev
>            Priority: Minor
>         Attachments: SOLR-10264.patch, SOLR-10264.patch, SOLR-10264-test.patch
> The parser that the {{ManagedSynonymFilterFactory}} uses to parse the JSON resource into a synonym map does not parse multi-term synonyms in the expected way.
> If the synonym {"foo bar":"baz"} is added to the managed resource, the expected behavior is that the multi-term synonym "foo bar" will be mapped to the synonym "baz".
> In the {{analyze}} method of {{SynonymMap.Parser}}, multiple origin terms are concatenated with a separating {{SynonymMap.WORD_SEPARATOR}}, but the {{analyze}} method is not used by the parser in the {{ManagedSynonymFilterFactory}}.
> As a workaround, multi-term synonyms can be uploaded separated by a null character, i.e., uploading {"foo\u0000bar":"baz"} works.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]