You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Lajos <la...@protulae.com> on 2014/02/28 17:36:30 UTC
StackOverflow ... the errors, not the site
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
Re: StackOverflow ... the errors, not the site
Posted by Areek Zillur <ar...@gmail.com>.
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
>
>
>