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
}