Hi Lajos, This can be due to the heavy query-time processing chain associated with the TextField? You can also check out AnalyzingInfixLookupFactory, if the suggestion entries are a bit long (this suggester will give matches, even if the query matches a term in the middle of a suggestion entry.
Ideally, FuzzyLookupFactory will work best if the processing chains of the Fields are light. Thanks, Areek On Fri, Feb 28, 2014 at 11:36 AM, Lajos <la...@protulae.com> wrote: > All, > > Just playing around with the SuggestComponent, trying to compare results > with the old-style spell-check-based suggester. Tried this config against a > string field: > > <requestHandler name="/suggest2" class="solr.SearchHandler"> > <lst name="defaults"> > <str name="wt">json</str> > <str name="indent">true</str> > <str name="suggest">true</str> > <str name="suggest.count">10</str> > <str name="suggest.dictionary">default</str> > </lst> > <arr name="components"> > <str>suggest2</str> > </arr> > </requestHandler> > > <searchComponent name="suggest2" class="solr.SuggestComponent"> > <lst name="suggester"> > <str name="name">default</str> > <str name="lookupImpl">FuzzyLookupFactory</str> > <str name="dictionaryImpl">DocumentDictionaryFactory</str> > <str name="field">title</str> > <str name="weightField">price</str> > <str name="suggestAnalyzerFieldType">string</str> > </lst> > </searchComponent> > > I hit this URL: > > /suggest2?q=ab&suggest.build=true > > and that works, but because "title" was as StrField, it wasn't quite what > I wanted. > > So I tried a TextField, "description". And I get this, with the same URL: > > ERROR - 2014-02-28 17:29:49.618; org.apache.solr.common.SolrException; > null:java.lang.RuntimeException: java.lang.StackOverflowError^M > at org.apache.solr.servlet.SolrDispatchFilter.sendError( > SolrDispatchFilter.java:796)^M > at org.apache.solr.servlet.SolrDispatchFilter.doFilter( > SolrDispatchFilter.java:448)^M > at org.apache.solr.servlet.SolrDispatchFilter.doFilter( > SolrDispatchFilter.java:217)^M > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:243)^M > at > ... > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor. > java:895)^M > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:918)^M > at java.lang.Thread.run(Thread.java:662)^M > Caused by: java.lang.StackOverflowError^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:244)^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:259)^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:259)^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:259)^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:259)^M > at org.apache.lucene.util.automaton.SpecialOperations. > getFiniteStrings(SpecialOperations.java:259)^M > > etc etc > > > Any ideas?? > > Thanks, > > Lajos > > >