For the records, what I finally did is place those words I want spellcheck
to ignore in spellcheck.collateParam.fq and the words I'd like to be
checked in spellcheck.q. collationQuery uses spellcheck.collateParam.fq so
all did_you_mean queries return results containing words in
spellcheck.collateParam.fq.

Best regards,
Elisabeth



2015-04-14 17:05 GMT+02:00 elisabeth benoit <elisaelisael...@gmail.com>:

> Thanks for your answer!
>
> I didn't realize this what not supposed to be done (conjunction of
> DirectSolrSpellChecker and FileBasedSpellChecker). I got this idea in the
> mailing list while searching for a solution to get a list of words to
> ignore for the DirectSolrSpellChecker.
>
> Well well well, I'll try removing the check and see what happens. I'm not
> a java programmer, but if I can find a simple solution I'll let you know.
>
> Thanks again,
> Elisabeth
>
> 2015-04-14 16:29 GMT+02:00 Dyer, James <james.d...@ingramcontent.com>:
>
>> Elisabeth,
>>
>> Currently ConjunctionSolrSpellChecker only supports adding
>> WordBreakSolrSpellchecker to IndexBased- FileBased- or
>> DirectSolrSpellChecker.  In the future, it would be great if it could
>> handle other Spell Checker combinations.  For instance, if you had a
>> (e)dismax query that searches multiple fields, to have a separate
>> spellchecker for each of them.
>>
>> But CSSC is not hardened for this more general usage, as hinted in the
>> API doc.  The check done to ensure all spellcheckers use the same
>> stringdistance object, I believe, is a safeguard against using this class
>> for functionality it is not able to correctly support.  It looks to me that
>> SOLR-6271 was opened to fix the bug in that it is comparing references on
>> the stringdistance.  This is not a problem with WBSSC because this one does
>> not support string distance at all.
>>
>> What you're hoping for, however, is that the requirement for the string
>> distances be the same to be removed entirely.  You could try modifying the
>> code by removing the check.  However beware that you might not get the
>> results you desire!  But should this happen, please, go ahead and fix it
>> for your use case and then donate the code.  This is something I've
>> personally wanted for a long time.
>>
>> James Dyer
>> Ingram Content Group
>>
>>
>> -----Original Message-----
>> From: elisabeth benoit [mailto:elisaelisael...@gmail.com]
>> Sent: Tuesday, April 14, 2015 7:37 AM
>> To: solr-user@lucene.apache.org
>> Subject: using DirectSpellChecker and FileBasedSpellChecker with Solr
>> 4.10.1
>>
>> Hello,
>>
>> I am using Solr 4.10.1 and trying to use DirectSolrSpellChecker and
>> FileBasedSpellchecker in same request.
>>
>> I've applied change from patch 135.patch (cf Solr-6271). I've tried
>> running
>> the command "patch -p1 -i 135.patch --dry-run" but it didn't work, maybe
>> because the patch was a fix to Solr 4.9, so I just replaced line in
>> ConjunctionSolrSpellChecker
>>
>> else if (!stringDistance.equals(checker.getStringDistance())) {
>>          throw new IllegalArgumentException(
>>              "All checkers need to use the same StringDistance.");
>>        }
>>
>>
>> by
>>
>> else if (!stringDistance.equals(checker.getStringDistance())) {
>>         throw new IllegalArgumentException(
>>             "All checkers need to use the same StringDistance!!! 1:" +
>> checker.getStringDistance() + " 2: " + stringDistance);
>>       }
>>
>> as it was done in the patch
>>
>> but still, when I send a spellcheck request, I get the error
>>
>> msg": "All checkers need to use the same StringDistance!!!
>> 1:org.apache.lucene.search.spell.LuceneLevenshteinDistance@15f57db32:
>> org.apache.lucene.search.spell.LuceneLevenshteinDistance@280f7e08"
>>
>> From error message I gather both spellchecker use same distanceMeasure
>> LuceneLevenshteinDistance, but they're not same instance of
>> LuceneLevenshteinDistance.
>>
>> Is the condition all right? What should be done to fix this properly?
>>
>> Thanks,
>> Elisabeth
>>
>
>

Reply via email to