Hi, I looked at the code at those line numbers and it seems simply impossible that an ArrayIndexOutOfBoundsException could be thrown there because it's guarded by a condition ensuring the array is of length 1. https://github.com/apache/lucene-solr/blob/2752d50dd1dcf758a32dc573d02967612a2cf1ff/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java#L653
If you can reproduce this with the "techproducts" schema, please share the complete query. If there's a problem here, I suspect the synonyms you have may be pertinent. ~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley On Tue, Sep 1, 2020 at 11:50 PM Andy @ BlueFusion <a...@bluefusion.co.nz> wrote: > Hi All, > > I have an 8.6.0 instance that is working well with one exception. > > It returns an error when the search term follows a pattern of numbers & > alpha characters such as: > > * 1a1 aa > * 1a1 1aa > * 1a1 11 > > Similar patterns that don't error > > * 1a1 a > * 1a1 1 > * 1a11 aa > * 11a1 aa > * 1a1aa > * 11a11 aa > > The error is: > > |"trace":"java.lang.ArrayIndexOutOfBoundsException: 0\n\t at > org.apache.lucene.util.QueryBuilder.newSynonymQuery(QueryBuilder.java:653)\n\t > > at > org.apache.solr.parser.SolrQueryParserBase.newSynonymQuery(SolrQueryParserBase.java:617)\n\t > > at > org.apache.lucene.util.QueryBuilder.analyzeGraphBoolean(QueryBuilder.java:533)\n\t > > at > org.apache.lucene.util.QueryBuilder.createFieldQuery(QueryBuilder.java:320)\n\t > > at > org.apache.lucene.util.QueryBuilder.createFieldQuery(QueryBuilder.java:240)\n\t > > at > org.apache.solr.parser.SolrQueryParserBase.newFieldQuery(SolrQueryParserBase.java:524)\n\t > > at > org.apache.solr.parser.QueryParser.newFieldQuery(QueryParser.java:62)\n\t > at > org.apache.solr.parser.SolrQueryParserBase.getFieldQuery(SolrQueryParserBase.java:1122)\n\t > > at > org.apache.solr.parser.QueryParser.MultiTerm(QueryParser.java:593)\n\t > at org.apache.solr.parser.QueryParser.Query(QueryParser.java:142)\n\t at > org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\n\t at > org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\n\t at > org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\n\t at > org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\n\t at > org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\n\t at > org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\n\t at > org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:131)\n\t > at > org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:260)\n\t > > at org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:49)\n\t > at org.apache.solr.search.QParser.getQuery(QParser.java:174)\n\t at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:160)\n\t > > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:302)\n\t > > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:211)\n\t > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2596)\n\t at > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:799)\n\t > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:578)\n\t > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)\n\t > > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)\n\t > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)\n\t > > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)\n\t > > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)\n\t > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\t > > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)\n\t > > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)\n\t > > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)\n\t > > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)\n\t > > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)\n\t > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\t > > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)\n\t > > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)\n\t > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\t > > at > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)\n\t > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\t > > at org.eclipse.jetty.server.Server.handle(Server.java:505)\n\t at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)\n\t at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)\n\t > > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\n\t > > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\t > at > org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n\t > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n\t > > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n\t > > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n\t > > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n\t > > at > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n\t > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)\n\t > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)\n\t > > at java.lang.Thread.run(Thread.java:748)\n" I haven't been able to find > anything similar reported online so I'm thinking it's a config issue and > would be grateful for any pointers & solutions. Many thanks in advance,| > > -- > Andy Dopleach > /Director/ > *BlueFusion <https://www.bluefusion.co.nz/>* > p: 03 328 8646 <tel:033288646> m: 021 255 7403 <tel:0212557403> > w: www.bluefusion.co.nz <https://www.bluefusion.co.nz> e: > a...@bluefusion.co.nz <mailto:a...@bluefusion.co.nz> > > > Review BlueFusion on Google > < > https://search.google.com/local/writereview?placeid=ChIJC9VEfTMmMm0RyWB58kmqS7c > > > >