You cannot use 100% because, as you say, 1 is intepreted as "1 document". But you can do something like 99.99999% .
James Dyer Ingram Content Group (615) 213-4311 -----Original Message----- From: Nathaniel Rudavsky-Brody [mailto:nathaniel.rudav...@gmail.com] Sent: Monday, September 22, 2014 11:39 AM To: solr-user@lucene.apache.org Subject: RE: fuzzy terms, DirectSolrSpellChecker and alternativeTermCount Thank you, that works! I'd already tried several values for maxQueryFrequency, but apparently without properly understanding it. I was confused by the line "A lower threshold is better for small indexes" when in fact I need a high value like 0.99, so every term returns suggestions. (Is it possible to set it to 100%? Because 1 gets interpreted as an absolute value.) Nathaniel On Mon, Sep 22, 2014 at 6:17 , Dyer, James <james.d...@ingramcontent.com> wrote: > DirectSpellChecker defaults to not suggest anything for terms that > occur in 1% or more of the total documents in the index. You can set > this higher in solrconfig.xml either with a fractional percent or a > whole-number absolute number of documents. > > See > http://lucene.apache.org/core/4_10_0/suggest/org/apache/lucene/search/spell/DirectSpellChecker.html#setMaxQueryFrequency%28float%29 > > > James Dyer > Ingram Content Group > (615) 213-4311 > > > -----Original Message----- > From: Nathaniel Rudavsky-Brody [mailto:nathaniel.rudav...@gmail.com] > Sent: Monday, September 22, 2014 9:41 AM > To: solr-user@lucene.apache.org > Subject: RE: fuzzy terms, DirectSolrSpellChecker and > alternativeTermCount > > Yep, I tried it both as a default param in the request handler (as in > the config I sent), and in the request, but with no effect... That's > what surprised me, since it seems it should work. > > On Mon, Sep 22, 2014 at 4:38 , Dyer, James > <james.d...@ingramcontent.com> wrote: >> Did you try "spellcheck.alternativeTermCount" with >> DirectSolrSpellChecker? You can set it to whatever low value you >> actually want it to return back to you (perhaps 20 suggestions >> max?). >> >> James Dyer >> Ingram Content Group >> (615) 213-4311 >> >> >> -----Original Message----- >> From: Nathaniel Rudavsky-Brody >> [mailto:nathaniel.rudav...@gmail.com] >> Sent: Monday, September 22, 2014 9:36 AM >> To: solr-user@lucene.apache.org >> Subject: RE: fuzzy terms, DirectSolrSpellChecker and >> alternativeTermCount >> >> Hi James, >> >> The request >> >> /spellcheck?spellcheck=true&spellcheck.q=quiam&spellcheck.dictionary=fuzzy2 >> returns >> >> quidam, quam, quia, quoniam, quidem, quadam, quodam, quoad, quedam, >> quis, quae, quas, quem, quid, quin, qui, qua >> >> Replacing quiam (not in the index) by quidam (in the index) returns >> nothing at all, but I want it to return >> >> quidam, quam, quia, quidem, quadam, quodam, quedam, ... >> >> When I was using the same parameters with IndexBasedSpellChecker, >> by >> setting a high alternativeTermCount, I got results for both. But as >> I >> said, then I can't differentiate the different maxEdits. >> >> The request handler is: >> >> <requestHandler name="/spellcheck" >> class="org.apache.solr.handler.component.SearchHandler"> >> <lst name="defaults"> >> <str name="spellcheck.dictionary">fuzzy1</str> >> <str name="spellcheck.count">20</str> >> <int name="spellcheck.alternativeTermCount">1000000</int> >> </lst> >> <arr name="last-components"> >> <str>fuzzyterms</str> >> </arr> >> </requestHandler> >> >> Thanks! >> >> Nathaniel >> >> On Mon, Sep 22, 2014 at 4:08 , Dyer, James >> <james.d...@ingramcontent.com> wrote: >>> Nathaniel, >>> >>> Can you show us all of the parameters you are sending to the >>> spellchecker? When you specify "alternativeTermCount" with >>> "spellcheck.q=quidam", what are the terms you expect to get back? >>> >>> Also, are you getting any query results back? If you are using a >>> "q" >>> that returns results, or more results than you specify for >>> "spellcheck.maxResultsForSuggest", spellcheck won't give you >>> anything >>> regardless of what you put for "spellcheck.q". >>> >>> James Dyer >>> Ingram Content Group >>> (615) 213-4311 >>> >>> >>> -----Original Message----- >>> From: Nathaniel Rudavsky-Brody >>> [mailto:nathaniel.rudav...@gmail.com] >>> Sent: Monday, September 22, 2014 8:08 AM >>> To: solr-user@lucene.apache.org >>> Subject: fuzzy terms, DirectSolrSpellChecker and >>> alternativeTermCount >>> >>> Hello, >>> >>> I'm trying find the best way to "fake" the terms component for >>> fuzzy >>> queries. That is, I need the full set of index terms for each of >>> the >>> two queries "quidam~1" and "quidam~2". >>> >>> I tried defining two suggesters with FuzzyLookupFactory, with >>> maxEdits=1 and 2 respectively, but the results for "quidam~1" >>> include >>> suffixes like "quodammodo", which makes sense for a suggester but >>> isn't >>> what I want here. >>> >>> Now I'm trying with the spell-checker. As far as I can see, >>> IndexBasedSpellChecker doesn't let me set maxEdits, so I can't >>> use >>> it >>> to distinguish between my two queries. DirectSolrSpellChecker >>> seems >>> like it should work, ie: >>> >>> <searchComponent name="fuzzyterms" >>> class="solr.SpellCheckComponent"> >>> <lst name="spellchecker"> >>> <str name="name">fuzzy1</str> >>> <str name="classname">solr.DirectSolrSpellChecker</str> >>> <int name="maxEdits">1</int> >>> ... >>> </lst> >>> <lst name="spellchecker"> >>> <str name="name">fuzzy2</str> >>> <str name="classname">solr.DirectSolrSpellChecker</str> >>> <int name="maxEdits">2</int> >>> ... >>> </lst> >>> </searchComponent> >>> >>> However the parameter spellcheck.alternativeTermCount has no >>> effect, >>> so >>> the query "spellcheck.q=quidam" gives no results, but >>> "spellcheck.q=quiam" (which doesn't exist in the index) gives the >>> expected terms. >>> >>> Am I missing something? Or is there a better way to do this? >>> >>> Many thanks for any help and ideas, >>> >>> Nathaniel