Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-8737

Managed synonym lists do not include the original term in the expand

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.5
    • 5.5.1
    • Schema and Analysis
    • None

    Description

      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:

      Input:

        a, b, c
      

      Becomes:

        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

      188:   treeTerms.remove(origTerm);
      

      Attachments

        1. SOLR-8737.patch
          3 kB
          Jan Høydahl

        Issue Links

          Activity

            People

              janhoy Jan Høydahl
              janhoy Jan Høydahl
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: