Woops. Thanks Rick, that was it. I'm so used to typing "str" that it became
white noise.

On 29 August 2017 at 16:03, Rick Leir <rl...@leirtech.com> wrote:

> Craig,
> Just a guess, but your threshold is in a string field. Cheers -- Rick
>
> On August 29, 2017 7:37:56 AM MDT, Craig Smiles <smile...@gmail.com>
> wrote:
> >Hi,
> >
> >I've been trying to get a suggester working with the
> >HighFrequencyDictionaryFactory but when setting the threshold I'm
> >getting a
> >ClassCastException when the dictionary is built.
> >
> >Could someone please advise?
> >
> >To reproduce:
> >
> >1. Download solr 6.6
> >
> >2. Replace the SuggestComponent within the techproducts' solrconfig.xml
> >with:
> >  <searchComponent name="suggest" class="solr.SuggestComponent">
> >    <lst name="suggester">
> >      <str name="name">mySuggester</str>
> >      <str name="lookupImpl">FuzzyLookupFactory</str>
> >      <str name="dictionaryImpl">HighFrequencyDictionaryFactory</str>
> > <str name="threshold">0.005</str>
> >      <str name="field">cat</str>
> >      <str name="suggestAnalyzerFieldType">string</str>
> >      <str name="buildOnStartup">false</str>
> >    </lst>
> >  </searchComponent>
> >
> >3. Run the techproducts example: "solr start -e techproducts"
> >
> >4. Visit
> >http://localhost:8983/solr/techproducts/suggest?suggest=
> true&suggest.build=true&suggest.dictionary=mySuggester&suggest.q=elec
> >
> >I then see the following response:
> >
> ><response>
> ><lst name="responseHeader">
> ><int name="status">500</int>
> ><int name="QTime">5</int>
> ></lst>
> ><lst name="error">
> ><str name="msg">java.lang.String cannot be cast to
> >java.lang.Float</str>
> ><str name="trace">
> >java.lang.ClassCastException: java.lang.String cannot be cast to
> >java.lang.Float at
> >org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory.create(
> HighFrequencyDictionaryFactory.java:47)
> >at
> >org.apache.solr.spelling.suggest.SolrSuggester.build(
> SolrSuggester.java:179)
> >at
> >org.apache.solr.handler.component.SuggestComponent.
> prepare(SuggestComponent.java:179)
> >at
> >org.apache.solr.handler.component.SearchHandler.handleRequestBody(
> SearchHandler.java:270)
> >at
> >org.apache.solr.handler.RequestHandlerBase.handleRequest(
> RequestHandlerBase.java:173)
> >at org.apache.solr.core.SolrCore.execute(SolrCore.java:2477) at
> >org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723) at
> >org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:529) at
> >org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> SolrDispatchFilter.java:361)
> >at
> >org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> SolrDispatchFilter.java:305)
> >at
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1691)
> >at
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:582)
> >at
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:143)
> >at
> >org.eclipse.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:548)
> >at
> >org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:226)
> >at
> >org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1180)
> >at
> >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
> >at
> >org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:185)
> >at
> >org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1112)
> >at
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
> >at
> >org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:213)
> >at
> >org.eclipse.jetty.server.handler.HandlerCollection.
> handle(HandlerCollection.java:119)
> >at
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:134)
> >at
> >org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(
> RewriteHandler.java:335)
> >at
> >org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:134)
> >at org.eclipse.jetty.server.Server.handle(Server.java:534) at
> >org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) at
> >org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:251)
> >at
> >org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
> AbstractConnection.java:273)
> >at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at
> >org.eclipse.jetty.io.SelectChannelEndPoint$2.run(
> SelectChannelEndPoint.java:93)
> >at
> >org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
> executeProduceConsume(ExecuteProduceConsume.java:303)
> >at
> >org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
> produceConsume(ExecuteProduceConsume.java:148)
> >at
> >org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> ExecuteProduceConsume.java:136)
> >at
> >org.eclipse.jetty.util.thread.QueuedThreadPool.
> runJob(QueuedThreadPool.java:671)
> >at
> >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
> QueuedThreadPool.java:589)
> >at java.lang.Thread.run(Thread.java:745)
> ></str>
> ><int name="code">500</int>
> ></lst>
> ></response>
> >
> >Thanks,
> >Craig
>
> --
> Sorry for being brief. Alternate email is rickleir at yahoo dot com

Reply via email to