[ https://issues.apache.org/jira/browse/SOLR-10513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16412175#comment-16412175 ]
Amrit Sarkar commented on SOLR-10513: ------------------------------------- bq. But today if we add two spell checkers both with LuceneLevenshteinDistance then ConjunctionSolrSpellChecker will fail. That's the Jira title and the fix but the test adds a third spell checker which makes it confusing as to what are we really testing Makes sense. But since in the patch, we are overriding the {{equals}} method of a class, we should test both assertions, equal and not equal, that was the motivation behind the test. [~jdyer] if I remember correctly, Abhishek was working on something similar, I will try to track down the jira. > CLONE - ConjunctionSolrSpellChecker wrong check for same string distance > ------------------------------------------------------------------------ > > Key: SOLR-10513 > URL: https://issues.apache.org/jira/browse/SOLR-10513 > Project: Solr > Issue Type: Bug > Components: spellchecker > Affects Versions: 4.9 > Reporter: Abhishek Kumar Singh > Assignee: James Dyer > Priority: Major > Fix For: 5.5 > > Attachments: SOLR-10513.patch, SOLR-10513.patch > > > See ConjunctionSolrSpellChecker.java > try { > if (stringDistance == null) { > stringDistance = checker.getStringDistance(); > } else if (stringDistance != checker.getStringDistance()) { > throw new IllegalArgumentException( > "All checkers need to use the same StringDistance."); > } > } catch (UnsupportedOperationException uoe) { > // ignore > } > In line stringDistance != checker.getStringDistance() there is comparing by > references. So if you are using 2 or more spellcheckers with same distance > algorithm, exception will be thrown anyway. > *Update:* As of Solr 6.5, this has been changed to > *stringDistance.equals(checker.getStringDistance())* . > However, *LuceneLevenshteinDistance* does not even override equals method. > This does not solve the problem yet, because the *default equals* method > anyway compares references. > Hence unable to use *FileBasedSolrSpellChecker* . > Moreover, Some check of similar sorts should also be in the init method. So > that user does not have to wait for this error during query time. If the > spellcheck components have been added *solrconfig.xml* , it should throw > error during core-reload itself. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org