Re: Does ReRankQuery support reranking the result of a FuzzyQuery?

2014-11-17 Thread Brian Sawyer
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?

2014-11-11 Thread Joel Bernstein
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?

2014-11-11 Thread Joel Bernstein
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?

2014-11-10 Thread Brian Sawyer
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)