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