Hi everyone,

I'm getting the following error (full trace attached) when combining the collapse query parser with the AND operator + tagging:

Query CollapsingPostFilter(field=id, nullPolicy=ignore, GroupHeadSelector(selectorText=score, type=SCORE), size=100000) does not implement createWeight

The query parameters I've been using are:

"q":"*:*",
"q.op":"AND",
"fq":"{!tag=foo}{!collapse field=id}",

Changing the operator to OR *or* removing the tag resolves the issue.

You can reproduce by creating a collection with the default schema and indexing some sample data for testing the collapsing. I've tested with Solr 10 and Solr 7, and both have the same issue.

Do you know if this is expected behavior? And if so, why?

Thanks,

Markos
"error":{
    "errorClass":"java.lang.UnsupportedOperationException",
    "msg":"Query CollapsingPostFilter(field=id, nullPolicy=ignore, 
GroupHeadSelector(selectorText=score, type=SCORE), size=100000) does not 
implement createWeight",
    "trace":{
      "stackTrace":[
        "org.apache.lucene.search.Query.createWeight(Query.java:69)",
        
"org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:979)",
        
"org.apache.lucene.search.ConstantScoreQuery.createWeight(ConstantScoreQuery.java:136)",
        
"org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:979)",
        "org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:635)",
        
"org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:806)",
        
"org.apache.solr.search.DocSetUtil.createDocSetGeneric(DocSetUtil.java:154)",
        "org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:141)",
        
"org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1468)",
        
"org.apache.solr.search.SolrIndexSearcher.lambda$getAndCacheDocSet$1(SolrIndexSearcher.java:1073)",
        
"org.apache.solr.search.CaffeineCache.computeAsync(CaffeineCache.java:235)",
        
"org.apache.solr.search.CaffeineCache.computeIfAbsent(CaffeineCache.java:251)",
        
"org.apache.solr.search.SolrIndexSearcher.getAndCacheDocSet(SolrIndexSearcher.java:1073)",
        
"org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:1028)",
        
"org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1286)",
        
"org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1918)",
        
"org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1791)",
        
"org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:797)",
        
"org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:792)",
        
"org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1796)",
        
"org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:444)",
        
"org.apache.solr.handler.component.SearchHandler.processComponents(SearchHandler.java:499)",
        
"org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:421)",
        
"org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:260)",
        "org.apache.solr.core.SolrCore.execute(SolrCore.java:2963)",
        
"org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:722)",
        "org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:487)",
        
"org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:227)",
        
"org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilterRetry$0(SolrDispatchFilter.java:186)",
        
"org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:226)",
        
"org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:194)",
        
"org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:180)",
        
"org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:170)",
        "jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)",
        
"org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208)",
        
"org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)",
        
"org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)",
        
"org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)",
        
"org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)",
        
"org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)",
        
"org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)",
        
"org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)",
        
"org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)",
        
"org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)",
        "org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:740)",
        
"org.eclipse.jetty.server.handler.ConditionalHandler.nextHandler(ConditionalHandler.java:421)",
        
"org.eclipse.jetty.server.handler.InetAccessHandler.onConditionsMet(InetAccessHandler.java:50)",
        
"org.eclipse.jetty.server.handler.ConditionalHandler.handle(ConditionalHandler.java:378)",
        "org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)",
        
"org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)",
        "org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)",
        
"org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)",
        "org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)",
        
"org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)",
        "org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)",
        
"org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)",
        "org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)",
        
"org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)",
        "org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)",
        
"org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)",
        
"org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)",
        "org.eclipse.jetty.server.Server.handle(Server.java:182)",
        
"org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)",
        
"org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)",
        
"org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)",
        "org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)",
        
"org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)",
        
"org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)",
        
"org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)",
        
"org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)",
        
"org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)",
        
"org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)",
        
"org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)",
        
"org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)",
        
"org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)",
        "java.base/java.lang.Thread.run(Unknown Source)"
      ]
    },
    "code":500
  }

Reply via email to