[
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: [email protected]
For additional commands, e-mail: [email protected]