Hi all, I'm using solrj to search in Solr for documents that contain text that either starts with, ends with or contains user-defined input. The query actually has the following format:
{!complexphrase inOrder=true}"<phrase>"~0 with a "*" at the beginning and/or end of <phrase>, depending on what / how should be searched. When I test the query in the web UI I'm getting the following error: { "responseHeader":{ "status":500, "QTime":4, "params":{ "q":"{!complexphrase inOrder=true}\"*1111 222222 33 4*\"~0", "indent":"true", "fl":"id,resourcename", "start":"0", "q.op":"AND", "sort":"id asc", "rows":"10000", "useParams":"", "_":"1726564406584" } }, "error":{ "msg":"maxClauseCount is set to 1024", "trace":"org.apache.lucene.search.IndexSearcher$TooManyClauses: maxClauseCount is set to 1024\n\tat org.apache.lucene.search.ScoringRewrite$1.checkMaxClauseCount(ScoringRewrite.java:76)\n\tat org.apache.lucene.search.ScoringRewrite$ParallelArraysTermCollector.collect(ScoringRewrite.java:160)\n\tat org.apache.lucene.search.TermCollectingRewrite.collectTerms(TermCollectingRewrite.java:66)\n\tat org.apache.lucene.search.ScoringRewrite.rewrite(ScoringRewrite.java:107)\n\tat org.apache.lucene.search.MultiTermQuery.rewrite(MultiTermQuery.java:326)\n\tat org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:777)\n\tat org.apache.lucene.queryparser.complexPhrase.ComplexPhraseQueryParser$ComplexPhraseQuery.rewrite(ComplexPhraseQueryParser.java:286)\n\tat org.apache.lucene.search.ConstantScoreQuery.rewrite(ConstantScoreQuery.java:44)\n\tat org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:777)\n\tat org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:791)\n\tat org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:559)\n\tat org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:276)\n\tat org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1932)\n\tat org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1729)\n\tat org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:726)\n\tat org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:721)\n\tat org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1690)\n\tat org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:432)\n\tat org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:456)\n\tat org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:226)\n\tat org.apache.solr.core.SolrCore.execute(SolrCore.java:2880)\n\tat org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:890)\n\tat org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:576)\n\tat org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:251)\n\tat org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilter$0(SolrDispatchFilter.java:208)\n\tat org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:243)\n\tat org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:213)\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:202)\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)\n\tat org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210)\n\tat org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)\n\tat org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:563)\n\tat org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)\n\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)\n\tat org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:461)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:193)\n\tat org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:208)\n\tat org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:155)\n\tat org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:450)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)\n\tat org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:558)\n\tat org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379)\n\tat org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)\n\tat org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)\n\tat org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n", "code":500 } } Can someone tell me what is causing this error? I expected a response with 0 docs found... What puzzles me is that when I replace the trailing 4* in the query by another decimal number, it works: { "responseHeader":{ "status":0, "QTime":6, "params":{ "q":"{!complexphrase inOrder=true}\"*1111 222222 33 3*\"~0", "indent":"true", "fl":"id,resourcename", "start":"0", "q.op":"AND", "sort":"id asc", "rows":"10000", "useParams":"", "_":"1726574210381" } }, "response":{ "numFound":0, "start":0, "numFoundExact":true, "docs":[ ] } } Is my query perhaps completely wrong? Environment: * Solr 9.7.0 as single instance, i.e. no Solr cloud * Java 21 on Ubuntu 24.04 The core I'm using was created from the config set "sample_techproduct_configs" Best regards Thorsten