[ 
https://issues.apache.org/jira/browse/SOLR-10513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16412135#comment-16412135
 ] 

James Dyer commented on SOLR-10513:
-----------------------------------

Although I am away until w/o April 2, I might be able to help later on with 
this.  My memory here is ConjunctionSpellChecker  initially only worked for 
adding the WordBreakSpellchecker in with DirectSpellChecker.  At the time, I 
thought a nice enhancement would eventually allow you to combine any spell 
checkers you wanted, say if you had multiple fields on a "qf" parameter, and 
you wanted individual spellcheckers for each.  I am not so sure such general 
usage is possible at this time.

> 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

Reply via email to