Re: Does ReRankQuery support reranking the result of a FuzzyQuery?
To answer myself, looks like this was fixed as part of https://issues.apache.org/jira/browse/SOLR-6323. On Mon, Nov 10, 2014 at 1:50 PM, Brian Sawyer bsaw...@basistech.com wrote: Hello, We are trying to make use of the new ReRankQuery to rescore results according to a custom function but run into problems when our main query includes a FuzzyQuery. Using the example setup in Solr 4.10.2 querying: q=name:Dell~1 rq={!rerank reRankQuery=id:whatever} results in: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight Is this a bug or is this intended? Thanks, Brian Full stack trace below: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight at org.apache.lucene.search.Query.createWeight(Query.java:80) at org.apache.solr.search.ReRankQParserPlugin$ReRankWeight.init (ReRankQParserPlugin.java:177) at org.apache.solr.search.ReRankQParserPlugin$ReRankQuery.createWeight(ReRankQParserPlugin.java:163) at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:209) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1619) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1433) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:514) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1967) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:722)
Re: Does ReRankQuery support reranking the result of a FuzzyQuery?
This issue should be resolved in https://issues.apache.org/jira/browse/SOLR-6323. This is committed in trunk, 5x, 4x, and 4_10, but this did not make it into 4.10.2. If you take the version in the 4_10 branch you should be good to go. If a version 4.10.3 is cut, this will be included. Joel Bernstein Search Engineer at Heliosearch On Mon, Nov 10, 2014 at 1:50 PM, Brian Sawyer bsaw...@basistech.com wrote: Hello, We are trying to make use of the new ReRankQuery to rescore results according to a custom function but run into problems when our main query includes a FuzzyQuery. Using the example setup in Solr 4.10.2 querying: q=name:Dell~1 rq={!rerank reRankQuery=id:whatever} results in: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight Is this a bug or is this intended? Thanks, Brian Full stack trace below: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight at org.apache.lucene.search.Query.createWeight(Query.java:80) at org.apache.solr.search.ReRankQParserPlugin$ReRankWeight.init (ReRankQParserPlugin.java:177) at org.apache.solr.search.ReRankQParserPlugin$ReRankQuery.createWeight(ReRankQParserPlugin.java:163) at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:209) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1619) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1433) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:514) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1967) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:722)
Re: Does ReRankQuery support reranking the result of a FuzzyQuery?
Just verified that fuzzy queries work in trunk with this test: params = new ModifiableSolrParams(); params.add(rq, {!rerank reRankQuery=$rqq reRankDocs=6}); params.add(q, term_s:~1 AND test_ti:[0 TO 2000]); params.add(rqq, id:1^10 id:2^20 id:3^30 id:4^40 id:5^50 id:6^60); params.add(fl, id,score); params.add(start, 0); params.add(rows, 6); assertQ(req(params), *[count(//doc)=5], //result/doc[1]/float[@name='id'][.='6.0'], //result/doc[2]/float[@name='id'][.='5.0'], //result/doc[3]/float[@name='id'][.='4.0'], //result/doc[4]/float[@name='id'][.='2.0'], //result/doc[5]/float[@name='id'][.='1.0'] ); Joel Bernstein Search Engineer at Heliosearch On Tue, Nov 11, 2014 at 1:04 PM, Joel Bernstein joels...@gmail.com wrote: This issue should be resolved in https://issues.apache.org/jira/browse/SOLR-6323. This is committed in trunk, 5x, 4x, and 4_10, but this did not make it into 4.10.2. If you take the version in the 4_10 branch you should be good to go. If a version 4.10.3 is cut, this will be included. Joel Bernstein Search Engineer at Heliosearch On Mon, Nov 10, 2014 at 1:50 PM, Brian Sawyer bsaw...@basistech.com wrote: Hello, We are trying to make use of the new ReRankQuery to rescore results according to a custom function but run into problems when our main query includes a FuzzyQuery. Using the example setup in Solr 4.10.2 querying: q=name:Dell~1 rq={!rerank reRankQuery=id:whatever} results in: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight Is this a bug or is this intended? Thanks, Brian Full stack trace below: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight at org.apache.lucene.search.Query.createWeight(Query.java:80) at org.apache.solr.search.ReRankQParserPlugin$ReRankWeight.init (ReRankQParserPlugin.java:177) at org.apache.solr.search.ReRankQParserPlugin$ReRankQuery.createWeight(ReRankQParserPlugin.java:163) at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:209) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1619) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1433) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:514) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1967) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
Does ReRankQuery support reranking the result of a FuzzyQuery?
Hello, We are trying to make use of the new ReRankQuery to rescore results according to a custom function but run into problems when our main query includes a FuzzyQuery. Using the example setup in Solr 4.10.2 querying: q=name:Dell~1 rq={!rerank reRankQuery=id:whatever} results in: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight Is this a bug or is this intended? Thanks, Brian Full stack trace below: java.lang.UnsupportedOperationException: Query name:delk~1 does not implement createWeight at org.apache.lucene.search.Query.createWeight(Query.java:80) at org.apache.solr.search.ReRankQParserPlugin$ReRankWeight.init (ReRankQParserPlugin.java:177) at org.apache.solr.search.ReRankQParserPlugin$ReRankQuery.createWeight(ReRankQParserPlugin.java:163) at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:209) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1619) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1433) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:514) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1967) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:722)