Is there a way to truncate spellcheck.q param value from Solr side? On Wed, Oct 7, 2020, 6:22 PM gnandre <arnoldbron...@gmail.com> wrote:
> Thanks. Is this going to be fixed in some future version? > > On Wed, Oct 7, 2020, 4:15 PM Mike Drob <md...@apache.org> wrote: > >> Right now the only solution is to use a shorter term. >> >> In a fuzzy query you could also try using a lower edit distance e.g. >> term~1 >> (default is 2), but I’m not sure what the syntax for a spellcheck would >> be. >> >> Mike >> >> On Wed, Oct 7, 2020 at 2:59 PM gnandre <arnoldbron...@gmail.com> wrote: >> >> > Hi, >> > >> > I am getting following error when I pass ' >> > 김포오피➬유유닷컴➬✗UUDAT3.COM유유닷컴김포풀싸롱て김포오피ふ김포휴게텔け김포마사지❂김포립카페じ김포안마 >> > ' in spellcheck.q param. How to avoid this error? I am using Solr 8.5.2 >> > >> > { >> > "error": { >> > "code": 500, >> > "msg": "Term too complex: 김포오피➬유유닷컴➬✗uudat3.com >> > 유유닷컴김포풀싸롱て김포오피ふ김포휴게텔け김포마사지❂김포립카페じ김포안마", >> > "trace": >> "org.apache.lucene.search.FuzzyTermsEnum$FuzzyTermsException: >> > Term too complex: >> > 김포오피➬유유닷컴➬✗uudat3.com유유닷컴김포풀싸롱て김포오피ふ김포휴게텔け김포마사지❂김포립카페じ김포안마\n\tat >> > >> > >> org.apache.lucene.search.FuzzyAutomatonBuilder.buildAutomatonSet(FuzzyAutomatonBuilder.java:63)\n\tat >> > >> > >> org.apache.lucene.search.FuzzyTermsEnum$AutomatonAttributeImpl.init(FuzzyTermsEnum.java:365)\n\tat >> > >> > >> org.apache.lucene.search.FuzzyTermsEnum.<init>(FuzzyTermsEnum.java:125)\n\tat >> > >> > >> org.apache.lucene.search.FuzzyTermsEnum.<init>(FuzzyTermsEnum.java:92)\n\tat >> > >> > >> org.apache.lucene.search.spell.DirectSpellChecker.suggestSimilar(DirectSpellChecker.java:425)\n\tat >> > >> > >> org.apache.lucene.search.spell.DirectSpellChecker.suggestSimilar(DirectSpellChecker.java:376)\n\tat >> > >> > >> org.apache.solr.spelling.DirectSolrSpellChecker.getSuggestions(DirectSolrSpellChecker.java:196)\n\tat >> > >> > >> org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:195)\n\tat >> > >> > >> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:328)\n\tat >> > >> > >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:211)\n\tat >> > org.apache.solr.core.SolrCore.execute(SolrCore.java:2596)\n\tat >> > >> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:802)\n\tat >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:579)\n\tat >> > >> > >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:420)\n\tat >> > >> > >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:352)\n\tat >> > >> > >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)\n\tat >> > >> > >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat >> > >> > >> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat >> > >> > >> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\n\tat >> > >> > >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)\n\tat >> > >> > >> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:177)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat >> > >> > >> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)\n\tat >> > >> > >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat >> > org.eclipse.jetty.server.Server.handle(Server.java:500)\n\tat >> > >> > >> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)\n\tat >> > >> org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)\n\tat >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)\n\tat >> > >> > >> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)\n\tat >> > org.eclipse.jetty.io >> > >> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n\tat >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat >> > org.eclipse.jetty.io >> .ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)\n\tat >> > >> > >> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)\n\tat >> > java.lang.Thread.run(Thread.java:748)\nCaused by: >> > org.apache.lucene.util.automaton.TooComplexToDeterminizeException: >> > Determinizing automaton with 16719 states and 25808 transitions would >> > result in more than 10000 states.\n\tat >> > >> > >> org.apache.lucene.util.automaton.Operations.determinize(Operations.java:746)\n\tat >> > >> > >> org.apache.lucene.util.automaton.RunAutomaton.<init>(RunAutomaton.java:74)\n\tat >> > >> > >> org.apache.lucene.util.automaton.ByteRunAutomaton.<init>(ByteRunAutomaton.java:31)\n\tat >> > >> > >> org.apache.lucene.util.automaton.CompiledAutomaton.<init>(CompiledAutomaton.java:254)\n\tat >> > >> > >> org.apache.lucene.util.automaton.CompiledAutomaton.<init>(CompiledAutomaton.java:140)\n\tat >> > >> > >> org.apache.lucene.search.FuzzyAutomatonBuilder.buildAutomatonSet(FuzzyAutomatonBuilder.java:60)\n\t... >> > 51 more\n" >> > }, >> > "response": { >> > "docs": [ >> > >> > ], >> > "numFound": 0, >> > "start": 0 >> > }, >> > "responseHeader": { >> > "QTime": 48, >> > "params": { >> > "q": "김포오피➬유유닷컴➬✗UUDAT3.COM >> 유유닷컴김포풀싸롱て김포오피ふ김포휴게텔け김포마사지❂김포립카페じ김포안마", >> > "spellcheck": "on", >> > "spellcheck.q": "김포오피➬유유닷컴➬✗UUDAT3.COM >> > 유유닷컴김포풀싸롱て김포오피ふ김포휴게텔け김포마사지❂김포립카페じ김포안마" >> > }, >> > "status": 500 >> > } >> > } >> > >> >