You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Jason Toy <ja...@gmail.com> on 2011/06/23 04:28:52 UTC

sorting by termfreq on trunk doesn't work?

I am trying to use sorting by the termfreq function using the trunk code
since termfreq was added in the 4.0 code base.
I run this query:
http://127.0.0.1:8983/solr/select/?q=librarian&sort=termfreq(all_lists_text,librarian)%20desc

but I get:

HTTP ERROR 500

Problem accessing /solr/select/. Reason:

    null

java.lang.NullPointerException
	at org.apache.solr.search.function.TermFreqValueSource$1.reset(TermFreqValueSource.java:53)
	at org.apache.solr.search.function.TermFreqValueSource$1.<init>(TermFreqValueSource.java:49)
	at org.apache.solr.search.function.TermFreqValueSource.getValues(TermFreqValueSource.java:44)
	at org.apache.solr.search.function.ValueSource$ValueSourceComparator.setNextReader(ValueSource.java:188)
	at org.apache.lucene.search.TopFieldCollector$OneComparatorNonScoringCollector.setNextReader(TopFieldCollector.java:97)
	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:544)
	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:313)
	at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1190)
	at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1078)
	at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:346)
	at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:400)
	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:231)
	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
	at org.apache.solr.core.SolrCore.execute(SolrCore.java:1308)
	at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:353)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)





Is termfreq stable and how can I run this query?


-- 
- sent from my mobile
6176064373

Re: sorting by termfreq on trunk doesn't work?

Posted by Yonik Seeley <yo...@lucidimagination.com>.
Thanks for the problem report.  It turns out we didn't check for a
null pointer when there were no terms in a field for a segment.
I've just committed a fix to trunk.

-Yonik
http://www.lucidimagination.com



On Wed, Jun 22, 2011 at 10:28 PM, Jason Toy <ja...@gmail.com> wrote:
> I am trying to use sorting by the termfreq function using the trunk code
> since termfreq was added in the 4.0 code base.
> I run this query:
> http://127.0.0.1:8983/solr/select/?q=librarian&sort=termfreq(all_lists_text,librarian)%20desc
>
> but I get:
>
> HTTP ERROR 500
>
> Problem accessing /solr/select/. Reason:
>
>    null
>
> java.lang.NullPointerException
>        at org.apache.solr.search.function.TermFreqValueSource$1.reset(TermFreqValueSource.java:53)
>        at org.apache.solr.search.function.TermFreqValueSource$1.<init>(TermFreqValueSource.java:49)
>        at org.apache.solr.search.function.TermFreqValueSource.getValues(TermFreqValueSource.java:44)
>        at org.apache.solr.search.function.ValueSource$ValueSourceComparator.setNextReader(ValueSource.java:188)
>        at org.apache.lucene.search.TopFieldCollector$OneComparatorNonScoringCollector.setNextReader(TopFieldCollector.java:97)
>        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:544)
>        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:313)
>        at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1190)
>        at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1078)
>        at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:346)
>        at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:400)
>        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:231)
>        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1308)
>        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:353)
>        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248)
>        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:326)
>        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>        at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>
>
>
>
>
> Is termfreq stable and how can I run this query?
>
>
> --
> - sent from my mobile
> 6176064373
>